Ich habe eine Tabele MDB_contacts mit Adressen und eine Tabelle MDB_group2c mit Zuordnungen von Gruppen. Ich möchte nun eine Abfrage starten, ob ein Kunde in der einen Gruppe ist und in der anderen nicht.
> SELECT * FROM MDB_contacts as a
> LEFT JOIN MDB_group2c USING(C_ID)
> WHERE
> G_ID != '1M'
> AND G_ID='2F'
>
Das geht leider nicht so.
Ein Datensatz besteht von MDB_group2c besteht aus
C_ID G_ID
Bei einer Abfrage wird C_ID von MDB_group2c mit der C_ID von MDB_contacts verglichen und nebeneinander gestellt, überall wo eine Übereinstimmung vorhanden ist.
Das sieht dann für eine bestimmte Person so aus.
Die WHERE Abfrage geht nun durch diese Datensätze.
Ich kann also nicht nach GRUPPE AND GRUPPE suchen, weil diese nie auf derselben Linie sind.
Hoffe mal, dass mein Problem verständlich ist.
Die Frage ist nun, ob es eine Möglichkeit gibt, das über eine Abfrage zu lösen, oder ob ich das halt über zwei Abfragen und Verarbeitung im Code machen muss.
> SELECT * FROM MDB_contacts as a
> LEFT JOIN MDB_group2c USING(C_ID)
> WHERE
> G_ID != '1M'
> AND G_ID='2F'
>
Das geht leider nicht so.
Ein Datensatz besteht von MDB_group2c besteht aus
C_ID G_ID
Bei einer Abfrage wird C_ID von MDB_group2c mit der C_ID von MDB_contacts verglichen und nebeneinander gestellt, überall wo eine Übereinstimmung vorhanden ist.
Das sieht dann für eine bestimmte Person so aus.
Code:
C_ID first_name last_name ....usw. C_ID G_ID
1 hans meier 1 4EFKI
1 hans meier 1 1M
1 hans meier 1 7TEST
Die WHERE Abfrage geht nun durch diese Datensätze.
Ich kann also nicht nach GRUPPE AND GRUPPE suchen, weil diese nie auf derselben Linie sind.
Hoffe mal, dass mein Problem verständlich ist.
Die Frage ist nun, ob es eine Möglichkeit gibt, das über eine Abfrage zu lösen, oder ob ich das halt über zwei Abfragen und Verarbeitung im Code machen muss.