[bglug] Mysql query
Paolo Finardi
pa.finardi@gmail.com
Sab 5 Nov 2016 09:13:54 CET
Il 05/11/2016 09:08, Luca Rota ha scritto:
> Ciao,
>
> Secondo me dovresti cambiare la condizione WHERE della tua query con
> l'operatore "IN".
> Dovresti recuperare dalla tua form la lista degli id_spec selezionati
> e poi impostare una condizione del tipo:
> WHERE s.id_spec IN (1,2,8,....)
> Spero di esserti stato utile.
esatto. Se l'elenco degli id_spec da filtrare è in una variabile puoi
usare la funzione FIND_IN_SET
|
where FIND_IN_SET(s.id_spec,tua_variabile)|
ciao
Paolo
>
>
>
> Il giorno 5 novembre 2016 08:07, Roberto Santini
> <roberto.santini89@gmail.com <mailto:roberto.santini89@gmail.com>> ha
> scritto:
>
> 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!
>
>
>
> --
> Sito BgLUG: http://www.bglug.it
> Mailing list: http://lists.linux.it/listinfo/bglug
> <http://lists.linux.it/listinfo/bglug>
>
>
>
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.linux.it/pipermail/bglug/attachments/20161105/83f4f78e/attachment-0001.html>
Maggiori informazioni sulla lista
bglug