<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#1f497d">
Il 05/11/2016 09:08, Luca Rota ha scritto:<br>
<blockquote
cite="mid:CAEekXHjcJyy+Nm4p20myqOKkiJMYUnW0Rpjnc9FTE13D_Mcrsw@mail.gmail.com"
type="cite">
<div dir="ltr">Ciao,
<div><br>
</div>
<div>Secondo me dovresti cambiare la condizione WHERE della tua
query con l'operatore "IN".</div>
<div>Dovresti recuperare dalla tua form la lista degli id_spec
selezionati e poi impostare una condizione del tipo:</div>
<div><span class="gmail-pln"
style="color:rgb(49,49,49);font-family:menlo,monaco,consolas,"courier
new",monospace;font-size:13px;box-sizing:border-box">WHERE
s.id_spec IN </span><span class="gmail-pun"
style="font-family:menlo,monaco,consolas,"courier
new",monospace;font-size:13px;box-sizing:border-box;color:rgb(102,102,0)">(</span><span
class="gmail-pln"
style="color:rgb(49,49,49);font-family:menlo,monaco,consolas,"courier
new",monospace;font-size:13px;box-sizing:border-box"> </span><span
class="gmail-lit"
style="font-family:menlo,monaco,consolas,"courier
new",monospace;font-size:13px;box-sizing:border-box;color:rgb(0,102,102)">1</span><span
class="gmail-pun"
style="font-family:menlo,monaco,consolas,"courier
new",monospace;font-size:13px;box-sizing:border-box;color:rgb(102,102,0)">,</span><span
class="gmail-pln"
style="color:rgb(49,49,49);font-family:menlo,monaco,consolas,"courier
new",monospace;font-size:13px;box-sizing:border-box"> </span><span
class="gmail-lit"
style="font-family:menlo,monaco,consolas,"courier
new",monospace;font-size:13px;box-sizing:border-box;color:rgb(0,102,102)">2</span><span
class="gmail-pun"
style="font-family:menlo,monaco,consolas,"courier
new",monospace;font-size:13px;box-sizing:border-box;color:rgb(102,102,0)">,</span><span
class="gmail-pln"
style="color:rgb(49,49,49);font-family:menlo,monaco,consolas,"courier
new",monospace;font-size:13px;box-sizing:border-box"> </span><span
class="gmail-lit"
style="font-family:menlo,monaco,consolas,"courier
new",monospace;font-size:13px;box-sizing:border-box;color:rgb(0,102,102)">8,....</span><span
class="gmail-pln"
style="color:rgb(49,49,49);font-family:menlo,monaco,consolas,"courier
new",monospace;font-size:13px;box-sizing:border-box"> </span><span
class="gmail-pun"
style="font-family:menlo,monaco,consolas,"courier
new",monospace;font-size:13px;box-sizing:border-box;color:rgb(102,102,0)">)</span> </div>
<div>Spero di esserti stato utile.<br>
</div>
</div>
</blockquote>
esatto. Se l'elenco degli id_spec da filtrare è in una variabile
puoi usare la funzione FIND_IN_SET<br>
<code><span class="pln"><br>
<font face="Courier New, Courier, monospace" size="+1">where
FIND_IN_SET</font></span><font face="Courier New, Courier,
monospace" size="+1"><span class="pun">(</span><span class="pln">s.id_spec</span><span
class="pun">,</span><span class="pln"> tua_variabile</span><span
class="pun">)</span></font></code><br>
<br>
ciao<br>
Paolo<br>
<br>
<br>
<blockquote
cite="mid:CAEekXHjcJyy+Nm4p20myqOKkiJMYUnW0Rpjnc9FTE13D_Mcrsw@mail.gmail.com"
type="cite">
<div dir="ltr">
<div><br>
</div>
<div><br>
<div class="gmail_extra"><br>
<div class="gmail_quote">Il giorno 5 novembre 2016 08:07,
Roberto Santini <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:roberto.santini89@gmail.com"
target="_blank">roberto.santini89@gmail.com</a>></span>
ha scritto:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<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>
<br>
<br>
--<br>
Sito BgLUG: <a moz-do-not-send="true"
href="http://www.bglug.it" rel="noreferrer"
target="_blank">http://www.bglug.it</a><br>
Mailing list: <a moz-do-not-send="true"
href="http://lists.linux.it/listinfo/bglug"
rel="noreferrer" target="_blank">http://lists.linux.it/<wbr>listinfo/bglug</a><br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">
</pre>
</blockquote>
<br>
</body>
</html>