[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