webForumDet fria alternativet

MS Access slå ihop 4 queries till 1

Databaser & SQL

5 svar · 396 visningar · startad av www

Medlem sedan nov. 200633 inlägg
Frågan#1

Jag behöver anropa 4 olika queries som är gjorda ur samma tabell. De 4 selekterar ett antal rader var. Ingen av dem selekterar samma rad som någon annan.

Jag vill alltså ha 4 selektioner (queries) sammanslagen till 1.

Vet inte om jag måste ha vad jag kallar Grundtabellen nedan med i SQL-satsen eller om det räcker med de 4 qureies som jag har. Har försökt med olika varianter utan att lyckas.

Grundtabellen
Query1
Query2
Query3
Query4

Hur skriver jag min SQL?

Medlem sedan dec. 20025 483 inlägg
#2

Det bästa vore om du visade hur de fyra frågorna ser ut.

Medlem sedan nov. 200633 inlägg
#3

Det är långa LIKE-frågor med många AND

SELECT id, date, filename, reference_number, language
FROM products
WHERE language='US' AND reference_number NOT LIKE {MÖNSTER1}
AND NOT LIKE {MÖNSTER2}
….
AND NOT LIKE {MÖNSTER25};

http://www.webforum.nu/showthread.php?t=150049&highlight=m�nster

Enligt en tidigare fråga till wF

Medlem sedan juni 200032 967 inlägg
#4

Antingen kan du skriva ihop frågorna till en och gruppa ihop villkoren.

... WHERE (alla villkoren från fråga 1) OR (alla villkoren från fråga 2) OR ...

Eller, kör alla frågor för sig själv med UNION.

SELECT 1,2,3 FROM ....
UNION
SELECT 1,2,3 FROM...
UNION
...
Medlem sedan nov. 200633 inlägg
#5

Tack. Fungerade perfekt med UNION, då jag såg till att alla anrop hade samma antal kolumner. En av dem hade en extra, så jag la till det till de andra tre.

SELECT *
FROM 0_US
UNION
SELECT *
FROM 0_GR
UNION
SELECT *
FROM 0_SW
UNION SELECT *
FROM 0_DK
ORDER BY language;

Medlem sedan nov. 200633 inlägg
#6

P.S. Skönt att bara behöva ändra på ett ställe och att UNION-koden kan stå oförändrad D.S.

548 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
415 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)