0
in Tabelle B existieren
Ich habe tableAWählen Sie aus Tabelle A, die mit der Bedingung in Tabelle B nicht
id | name
--------------
1 | John
2 | Alice
3 | Bob
und Tabelle B
id | tableA_id | setting
--------------------------
1 | 1 | 1
2 | 2 | 0
Ich möchte alle eindeutigen IDs in Tabelle auszuwählen A, die nicht mit einer Bedingung in Tabelle B Einstellung = 0.
Beispiel in Tabelle B existieren würde ich mag erhalten
id | name
--------------
1 | John
3 | Bob
Ich kann Abfrage verwenden:
SELECT * FROM tableA WHERE id NOT IN (SELECT tableA_id from tableB WHERE setting = 0)
Aber ich denke, dass es langsam ist, weil zwei Tabellen groß ist. Ich denke, diese Abfrage wirkt sich auf die Leistung aus.
Wie kann ich das tun?
ja, alles andere als 'nicht – Drew
in' es nicht funktioniert. Mit Fall 1: Ergebnis hat nur 1 Datensatz "1 | John" Im Fall 2: Ergebnis hat alles in Tabelle a – Khaihkd
@ Khaihkd Fall 1 ist definitiv falsch und ich habe aktualisiert, überprüfen Sie bitte die Demo; Fall 2 scheint richtig zu sein, überprüfen Sie bitte auch die Demo bitte: D – Blank