Ich versuche eine MySQL-Abfrage zu schreiben, um alle Zeilen einer Tabelle auszuwählen, in der die Eins-zu-Eins-Beziehungsspalte 0 einer Eins-zu-Viele-Beziehung ist . basicaly ich will alles führt, wo noch nicht abgeschlossen ist 1.SQL, wo die Spalte kein Wert in einer Eins-zu-Eins-Beziehung ist
Mein Fehler Abfrage
SELECT * from `leads`
LEFT JOIN `call_lead` on `leads`.`id` = `call_lead`.`lead_id`
LEFT JOIN `call_result_codes` ON `call_lead`.`call_result_code_id` = `call_result_codes`.`id`
AND `call_result_codes`.`finished` in (0) group by `leads`.`id`
Dies schlägt fehl, und immer noch gibt alle führt, auch wenn sie einen Code mit fertig 1.
Erwartete Ausgabe haben würde
Führung mit ID 12 und führen sein mit id 2.
Tabelle führt
_____________________
|id | name |
|2 | test name |
|8 | test name2 |
|12 | test name2 |
Tabelle call_lead
_____________________________________________________
|id | lead_id | user_id | call_result_code_id |remark|
|22 | 8 | 1 | 0 |test |
|23 | 8 | 1 | 1 |test |
|24 | 2 | 1 | 0 |test |
Tabelle call_result_codes
________________________________
|id | description | finished |
|0 | not answering | 0 |
|1 | not interested| 1 |
Das funktioniert wie erwartet vielen Dank! – Maantje
Kein Problem! @marsje – sagi
Fehler gefunden. Wenn call_lead einen Datensatz für einen Lead mit einem Ergebniscode, der nicht abgeschlossen ist, und einen für den Abschluss für den gleichen Lead hat, wird er immer noch zurückgegeben. – Maantje