Mjae... ikke helt.
TABEL A
række ID
række THEME
TABEL B
række ID
række THEME
Result = de ting der findes i begge tabeller i rækken THEME, og IKKE andet.
:-) Gunnar
En UNION giver dig ALT FRA BEGGE tabeller, som er FORENINGSMÆNGDEN.
SELECT ID, THEME
FROM TABEL A
UNION
SELECT ID, THEME
FROM TABEL B;
For at få FÆLLESMÆNGDEN, skal du bruge en af de to konstruktioner som Jørgen Lehmann skrriver.
1. Ved brug af innerjoin
SELECT A.ID, A.THEME
FROM TABLE1 A, TABLE2 B
WHERE A.THEME = B.THEME;
2. Ved brug af subselect
SELECT * FROM TABLE1
WHERE THEME IN (SELECT THEME FROM TABLE2);
2a. En lidt anden variant med subselect,
som er hurtigere end ad. 2.
SELECT * FROM TABLE1 A
WHERE EXISTS (
SELECT 1
FROM TABLE2
WHERE THEME = A.THEME);
Den første (ad. 1) af disse to er dog den hurtigste at eksekvere. Husk at sørge for at indeksere din THEME kolonne og undgå at sammenligne på partielle strenge. Er din THEME kolonne i forvejen en nøgle, så bliver den automatisk indekseret.
Hth
Indlæg senest redigeret d. 15.02.2007 08:31 af Bruger #10448