PDA

Visualizza la versione completa : [MYSQL] - Select su pił tabelle


robyd
29-07-2009, 16:02
Ciao a tutti,
ho tre tabelle:


t_utente
id
nome
cognome

t_caratteristica
id
caratteristica


r_caratteristica_utente
id
id_utente
id_caratteristica

Vorrei fare una select per tirarmi fuori tutti gli utenti che hanno caratteristica_1, caratteristica_2, caratteristica_3 soddisfatte (non OR ma AND).

Come posso strutturarla?

Grazie mille

Samleo
29-07-2009, 16:05
Ma che vuoi dire con, "caratteristica_1, caratteristica_2, caratteristica_3 soddisfatte" ?!?!

Non sono mica dei campi...

robyd
29-07-2009, 16:16
Originariamente inviato da Samleo
Ma che vuoi dire con, "caratteristica_1, caratteristica_2, caratteristica_3 soddisfatte" ?!?!

Non sono mica dei campi...

Non sono dei campi, sono i valori da ricercare nella tabella r_caratteristica_utente.

Magicale
29-07-2009, 16:23
SELECT t_utente . *

FROM t_utente

INNER JOIN r_caratteristica_utente AS r_caratteristica_utente_1
ON r_caratteristica_utente_1.id_utente = t_utente.id

INNER JOIN r_caratteristica_utente AS r_caratteristica_utente_2
ON r_caratteristica_utente_2.id_utente = t_utente.id

INNER JOIN r_caratteristica_utente AS r_caratteristica_utente_3
ON r_caratteristica_utente_3.id_utente = t_utente.id

INNER JOIN t_caratteristica AS t_caratteristica_1
ON r_caratteristica_utente_1.id_caratteristica = t_caratteristica_1.id

INNER JOIN t_caratteristica AS t_caratteristica_2
ON r_caratteristica_utente_2.id_caratteristica = t_caratteristica_2.id

INNER JOIN t_caratteristica AS t_caratteristica_3
ON r_caratteristica_utente_3.id_caratteristica = t_caratteristica_3.id

WHERE

t_caratteristica_1.caratteristica = 'caratteristica_1'
AND
t_caratteristica_2.caratteristica = 'caratteristica_2'
AND
t_caratteristica_3.caratteristica = 'caratteristica_3'

robyd
29-07-2009, 16:35
Originariamente inviato da Magicale


SELECT t_utente . *

FROM t_utente

INNER JOIN r_caratteristica_utente AS r_caratteristica_utente_1
ON r_caratteristica_utente_1.id_utente = t_utente.id

INNER JOIN r_caratteristica_utente AS r_caratteristica_utente_2
ON r_caratteristica_utente_2.id_utente = t_utente.id

INNER JOIN r_caratteristica_utente AS r_caratteristica_utente_3
ON r_caratteristica_utente_3.id_utente = t_utente.id

INNER JOIN t_caratteristica AS t_caratteristica_1
ON r_caratteristica_utente_1.id_caratteristica = t_caratteristica_1.id

INNER JOIN t_caratteristica AS t_caratteristica_2
ON r_caratteristica_utente_2.id_caratteristica = t_caratteristica_2.id

INNER JOIN t_caratteristica AS t_caratteristica_3
ON r_caratteristica_utente_3.id_caratteristica = t_caratteristica_3.id

WHERE

t_caratteristica_1.caratteristica = 'caratteristica_1'
AND
t_caratteristica_2.caratteristica = 'caratteristica_2'
AND
t_caratteristica_3.caratteristica = 'caratteristica_3'


Grazie mille!!

Loading