<p dir="ltr">Ciao a tutti, prima di chiedervi aiuto vi devo ringraziare per l'aiuto che mi avete dato nelle ultime mail... Grazie! È sempre molto prezioso. </p>
<p dir="ltr">Ora, ho un database con le seguenti tabelle:<br>
- user: id, name<br>
- spec: id, label<br>
- spec_values: id, id_user,id_spec, value. </p>
<p dir="ltr">Nella tabella spec ho alcune specifiche che possono essere assegnate agli utenti, tipo "email", "telefono",... e posso aggiungerle man mano a seconda della necessità. In spec_value ho il valore di queste specifiche, quindi il valore di email, di telefono,... <br>
Ora, ho predisposto un Form in cui posso selezionare gli utenti facendo un filtro su queste specifiche: posso selezionare quale spec filtrare e quale valore debba avere. Finché si tratta di una sola specifica non c'è problema. Quando sono più d'una però non so bene come fare. Se faccio:</p>
<p dir="ltr">SELECT * FROM user u JOIN spec_values s ON.... WHERE (s.id_spec=1 and s.value=...) OR (s.id_spec=2 and s.value=...)</p>
<p dir="ltr">ottengo gli utenti che hanno id_spec=1 O id_spec=2. Io voglio che valgano entrambe le condizioni, ma ovviamente se metto AND tra le due parentesi non ottengo nessun risultato. Ho provato anche utilizzando le sub query ma senza successo. <br>
Come posso fare? <br>
Spero di essermi spiegato... </p>
<p dir="ltr">Grazie! </p>