Ciao,
la soluzione al tuo problema è la seguente query:
codice:
SELECT *
FROM ((((((((((TB_PIZZA
LEFT JOIN TB_INGREDIENTI I0 ON TB_PIZZA.ID_INGR0 = I0.ID_INGR)
LEFT JOIN TB_INGREDIENTI I1 ON TB_PIZZA.ID_INGR0 = I1.ID_INGR)
LEFT JOIN TB_INGREDIENTI I2 ON TB_PIZZA.ID_INGR0 = I2.ID_INGR)
LEFT JOIN TB_INGREDIENTI I3 ON TB_PIZZA.ID_INGR0 = I3.ID_INGR)
LEFT JOIN TB_INGREDIENTI I4 ON TB_PIZZA.ID_INGR0 = I4.ID_INGR)
LEFT JOIN TB_INGREDIENTI I5 ON TB_PIZZA.ID_INGR0 = I5.ID_INGR)
LEFT JOIN TB_INGREDIENTI I6 ON TB_PIZZA.ID_INGR0 = I6.ID_INGR)
LEFT JOIN TB_INGREDIENTI I7 ON TB_PIZZA.ID_INGR0 = I7.ID_INGR)
LEFT JOIN TB_INGREDIENTI I8 ON TB_PIZZA.ID_INGR0 = I8.ID_INGR)
LEFT JOIN TB_INGREDIENTI I9 ON TB_PIZZA.ID_INGR0 = I9.ID_INGR)
ma in più direi che il tuo approccio non è quello più corretto.
Se vuoi un consiglio per migliorare la struttura delle tabelle è:
1 tabella contenente le pizze con i relativi attributi: TB_PIZZA
1 tabella contenente tutti gli ingredienti con i relativi attributi: TB_INGREDIENTI
1 tabella contenente il legame fra le pizze e gli ingredienti: TB_LINK_PIZZA_INGREDIENTI
così procedendo:
- eviti ridondanze di dati
- puoi gestire più ingredienti e non solo 10
- la query diventa più semplice e si aggiorna dinamicamente. Diversamente, se occorre aggiungere l'11simo ingrediente, devi modificare la struttura della tabella e le query
la query sarebbe:
SELECT * FROM TB_PIZZA A, TB_LINK_PIZZA_INGREDIENTI B, TB_INGREDIENTI C
WHERE A.ID_PIZZA=B.ID_PIZZA AND B.ID_INGREDIENTE=C.ID_INGREDIENTE
dentro le tabelle
TB_PIZZA
codice:
ID_PIZZA COD_PIZZA PREZZO
1 MARGHE 5
2 4FORM 6
3 4STAGIO 7
TB_LINK_PIZZA_INGREDIENTI
codice:
ID_PIZZA ID_INGREDIENTE
1 1
1 2
1 3
1 4
2 1
2 2
2 3
3 1
3 2
TB_INGREDIENTI
codice:
ID_INGREDIENTE COD_INGR TIPO
1 OLIO COND
2 FARINA BASE
3 PROSCI SALUMI
4 FUNGHI ORTA
Ciao e facci sapere
Mik