Select z databazi s relaci 1:N

Zdeněk Böhm zdenek.bohm na gammarus.cz
Pátek Prosinec 7 15:19:20 CET 2001


Zdravim,

mam nasledujici dve databaze (zjednodusene):

Databaze1 ma sloupec Id typu int, Databaze 2 ma sloupec Databaze1_Id typ int
a sloupec XXX typ int. Ke kazdemu Id v Databazi1 muze existovat 1-5 zaznamu
v Databazi2 (lise se obsahem sloupce XXX).
Potrebuju poradit, jak napsat SELECT, ktery vybere zaznamy z Databaze1, ke
kterym neexistuje v Databazi2 zaznam s nejakym konkretnim cislem (treba 3) v
sloupci XXX.

Priklad:

Databaze1:                    Databaze2:

Id                                  Databaze1_Id    XXX
-------------------------------------------------------------------
1                                          1                  1
                                            1                  2
                                            1                  3
2                                          1                  1
                                            1                  2

SELECT 1.Id, 2.XXX FROM Databaze1 AS 1, Databaze2 AS 2 WHERE 1.Id = 2.Id AND
XXX = 3 vrati:

Id     XXX
-------------
1       3

SELECT 1.Id,2.XXX FROM Databaze1 AS 1, Databaze2 AS 2 WHERE 1.Id = 2.Id AND
XXX <> 3 vrati:

Id     XXX
-------------
1      1
1      2
2      1
2      2

Jak napsat dotaz, ktery vrati (v pripade XXX=3)

Id     XXX
-------------
2       1
2       2

Jde to?

Diky Zdenek



Další informace o konferenci Databases