Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [MySql] - aiuto scrittura select JOIN

    Ciao a tutti, questa mattina sono fuso .. (cominciamo bene la giornata... )

    queste sono le mie tabelle:

    [opzioni]
    id
    opzione
    descrizione

    [articoli]
    id
    articolo
    idOpzione1
    idOpzione2


    Come posso scrivere la JOIN per leggere "opzioni.opzione" di articoli.idOpzione1 e articoli.idOpzione2 !?

    SELECT
    opzioni.opzione AS opt1,
    opzioni.opzione AS opt2
    FROM opzioni
    JOIN articoli AS a1 ON (a1.idOpzione1 = opzioni.id)
    JOIN articoli AS a2 ON (a2.idOpzione2 = opzioni.id)
    WHERE a1.id = 1

    !??!?

    Grazie a tutti per l'aiuto !
    Ultima modifica di aquatimer2000; 11-02-2020 a 10:43
    aquatimer2000

  2. #2
    risolto:

    SELECT
    a.id, o1.opzione, o2.opzione
    FROM articoli AS a
    JOIN opzioni AS o1 ON ( o1.id = a.idOpzione1 )
    JOIN opzioni AS o2 ON ( o2.id = a.idOpzione2 )
    WHERE a.id = 1
    aquatimer2000

  3. #3
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,306
    Si, la Vista è sintatticamente corretta ......
    sulla normalizzazione del DB ho invece dei dubbi .......

    .

  4. #4
    dimmi pure, accetto tutti i consigli !!
    aquatimer2000

  5. #5
    a dir la verità avevo pensato di fare altre 2 tabelle che sarebbero dovute essere:

    [articoli_opzione1]
    id
    idArticolo
    idOpzione

    e

    [articoli_opzione2]
    id
    idArticolo
    idOpzione

    ma anche questa, non mi rendo conto a livello di normalizzazione sia corretta. sono un principiante
    aquatimer2000

  6. #6
    se le voci della tabella opzioni possono essere indifferentemente inserite sia in articoli.opzioni1 che in articoli.opzioni2 allora sei ok. se invece le opzioni sono segregate (es. 1=opzioni su colore, 2=opzioni su taglia) allora parliamone

  7. #7
    Quote Originariamente inviata da optime Visualizza il messaggio
    se le voci della tabella opzioni possono essere indifferentemente inserite sia in articoli.opzioni1 che in articoli.opzioni2 allora sei ok. se invece le opzioni sono segregate (es. 1=opzioni su colore, 2=opzioni su taglia) allora parliamone
    ogni opzione, può essere intesa, a scelta dell'utente, o come opzione1 o come opzione2

    ecco perchè avevo ritenuto inutile fare 4 tabelle (come ho indicato sopra)
    aquatimer2000

  8. #8

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved.