PDA

Visualizza la versione completa : [SQL] Restituzione di campi a scelta con query


cutoff
14-02-2007, 10:53
Ciao,

dovrei fare una query su access per un gestionale, ma non sono molto pratico
di SQL.

Allora io ho una tabella con 7 campi di tipo intero contenento dei valori;
cioè una cosa del
genere :

ID|Campo1|Campo2|Campo3|Campo4|Campo4|Campo5|Campo 6|
1 | C | A6 | C | G | T | Z | H |
2 | A1 | B | K | A4 | D | E | F |
3 | A5 | B | C | G | D | E | F |

Devo fare una query che mi restituisca l'ID del record
i cui campi(non importa quali) contengono 2 valori appartenenti ad una lista
di valori.
Ipotizzando una lista formata dai valori A1,A2,A3,A4,A5,A6 come si può
vedere
l'unico record che mi soddisfa questa condizione è il record numero 2, in
quanto
sono presenti i valori A1 in Campo1 e A4 in Campo4.

Chi mi dà una mano?

Grazie

Nik

siamodelgatto
16-02-2007, 15:43
Originariamente inviato da cutoff
Ciao,

Ciao

dovrei fare una query su access per un gestionale, ma non sono molto pratico
di SQL.

Allora io ho una tabella con 7 campi di tipo intero contenento dei valori;
cioè una cosa del
genere :

ID|Campo1|Campo2|Campo3|Campo4|Campo4|Campo5|Campo 6|
1 | C | A6 | C | G | T | Z | H |
2 | A1 | B | K | A4 | D | E | F |
3 | A5 | B | C | G | D | E | F |

drop table if exists tabella;
create table if not exists tabella(
id int PRIMARY KEY,
Campo1 int,
Campo2 int,
Campo3 int,
Campo4 int,
Campo5 int,
Campo6 int);


Ipotizzando una lista formata dai valori A1,A2,A3,A4,A5,A6

drop table if exists tabella;
create table if not exists tabella(
valori int PRIMARY KEY);

Devo fare una query che mi restituisca l'ID del record
i cui campi(non importa quali) contengono 2 valori appartenenti ad una lista
di valori.

select id from tabella where campo1 in (select valori from lista) and campo2 in (select valori from lista) or campo1 in (select valori from lista) and campo3 in (select valori from lista) or .........e così via fino a menzionare tutte le coppie di campi possibili ....

come si può
vedere
l'unico record che mi soddisfa questa condizione è il record numero 2, in
quanto
sono presenti i valori A1 in Campo1 e A4 in Campo4.

Chi mi dà una mano?
io ci ho provato,sono un novellino,sono interessato a qualsiasi correzione grazie!
Grazie

Nik

cutoff
16-02-2007, 16:00
Ti ringrazio, infatti anch'io ho fatto così solo che sono convinto che ci sia un metodo
"piu pulito e meno maccheronico" per farlo in SQL.

Nik

alka
17-02-2007, 11:29
Suggerisco di fare attenzione al "quotare", dato che la seconda risposta è indistinguibile. :stordita:

Loading