Ciao,
dovrei fare in modo che tutti valori compresi nell'operatore IN siano la condizione vera e nn che un solo elemento del IN soddisfi la condizione. Suggerimenti?
Grazie per le risposte![]()
Ciao,
dovrei fare in modo che tutti valori compresi nell'operatore IN siano la condizione vera e nn che un solo elemento del IN soddisfi la condizione. Suggerimenti?
Grazie per le risposte![]()
Per gli Spartani e Sparta usa spartan Il mio github
Facci capire...![]()
Immaginiamo di avere una tabella in cui c'è un campo numerico (immaginiamo sia "numero_civico")
I record sono
id numero_civico
1 12
2 34
3 56
4 9
Voglio tutti i record che abbiano numero civico IN (12,56,9) e quindi scrivo "select * from tabella where numero_civico IN (12,56,9)" ed ottengo
id numero_civico
1 12
3 56
4 9
Cosa intendi per "..tutti valori compresi nell'operatore IN siano la condizione vera..." ?
Come fa un record (questo è quello che io capisco dalla tua frase "...tutti valori compresi nell'operatore IN siano la condizione vera..." ma forse ho capito male...) a valere contemporaneamente sia 12 che 56 che 9 ?
Nel pratico, ho 2 tabelle e i valori nel IN() sono id della prima tabella. I records della seconda tabella possono contenere tutti, nessuno o alcuni di questi id.
Ecco a me servirebbe un IN() che consideri tutti gli id passati e nn solo alcuni.
Cn una select + from tab2 where id_prima IN(1,2,3) dovrei riuscire ad averecodice:1 primo 2 secondo 3 terzo 4 quarto seconda tabella id della prima tabella 1 primo2 1,2 2 secondo2 1 3 terzo2 1,2,3 4 quarto2 3 5 quinto2 1,2,3,4
terzo2 e quinto2 invece ho primo2 secondo2 terzo2 quarto2 e quinto2.
Spero si capisca.
Per gli Spartani e Sparta usa spartan Il mio github
se i campi che evidenzi nella seconda tabella con la , sono racchiusi in un unico campo non riuscirai a trovarli con IN.
Potresti provare invece l'istruzione like
esempio:
select * from tab2 where id_prima like '%1%' or like '%2%' ...
Considera pero' che cosi' se i numeri superano le 9 unita' avrai 10 che viene intercettato da %1% e cosi' via.
Ancora non capisco...(non del tutto perlomeno...)
Quei valori
1,2
1
1,2,3
3
1,2,3,4
dove sono memorizzati ? in un unico campo di tipo char (varchar) ?
Se vuoi trovare quelli che hanno (almeno) i valori 1,2,3 puoi mettere qualcosa del tipo
...where campo like '1,2,3%'