[bglug] Mysql query

Roberto Santini roberto.santini89@gmail.com
Sab 5 Nov 2016 08:07:12 CET


Ciao a tutti, prima di chiedervi aiuto vi devo ringraziare per l'aiuto che
mi avete dato nelle ultime mail... Grazie! È sempre molto prezioso.

Ora, ho un database con le seguenti tabelle:
- user: id, name
- spec: id, label
- spec_values: id, id_user,id_spec, value.

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,...
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:

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=...)

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.
Come posso fare?
Spero di essermi spiegato...

Grazie!
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.linux.it/pipermail/bglug/attachments/20161105/e26541ea/attachment.html>


Maggiori informazioni sulla lista bglug