Mailinglisten-Archive |
>Hi allerseits,
>
>hab eine (eigentlich einfache) Frage, komm' aber gerade nicht drauf:
>
>Ich hab eine Tabelle A und eine Tabelle B: A <-1-N-> B
>A:
>a_id (PK)
>name
>
>B:
>b_id (PK)
>a_id (FK)
>bedingung
>
>Jetzt will ich alle DS von A haben, die in B mit keinem DS verknüpft sind,
>wobei gelten soll: B.bedingung<>'1'.
Ich habe das aus eigenem Interesse mal nachgespielt:
mysql> SELECT *
-> FROM A
-> LEFT JOIN B ON A.a_id=B.a_id
-> ;
+------+----------+------+------+-----------+
| a_id | name | b_id | a_id | bedingung |
+------+----------+------+------+-----------+
| 1 | peter | 1 | 1 | 2 |
| 2 | gabi | NULL | NULL | NULL |
| 3 | jens | 2 | 3 | 1 |
| 4 | flori | 3 | 4 | 1 |
| 5 | stefan | 4 | 5 | 2 |
| 6 | bernhard | NULL | NULL | NULL |
| 7 | tom | 5 | 7 | 2 |
| 8 | tina | NULL | NULL | NULL |
+------+----------+------+------+-----------+
8 rows in set (0.00 sec)
d.h. mit
SELECT A.*
FROM A
LEFT JOIN B ON A.a_id=B.a_id
WHERE B.b_id IS NULL;
sollten die DS von A ohne Entsprechung in B liefern. Was ich nicht
verstehe: wie sollen diese nicht existierenden DS auf eine Bedingung
geprüft werden. Habe ich was falsch verstanden?
-Florian
--
Caspar Florian Ebeling <cfe_(at)_plannersdelight.net> /
http://www.plannersdelight.net/
Boeblinger Str 63, 70199 Stuttgart, Tel +49 (0) 711 60 70 142
---
*** Weitere Infos zur Mailingliste und MySQL unter www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive