phpbar.de logo

Mailinglisten-Archive

Re: A aber nicht B
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: A aber nicht B



>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 


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive