Ich versuche, eine SELECT
Abfrage zu finden, die alle gibt tableA.tba_id, die nicht auf tableB vorhanden sind (beachten Sie, dass zwei verschiedene Fremdschlüssel - tbb_tbAID1 und tbb_tbAID2 zwischen Daten. You can find DB Model hereSELECT NICHT IN zwei Fremdschlüssel aus anderen Tisch
Was kann ich bisher
Diese Tests nur eine Spalte
SELECT tba_id FROM tableA
WHERE tba_id NOT IN
(SELECT tbb_tbAID1 FROM tableB
WHERE tbb_date > '$date2')
ich eine MySQL-Fehler, wenn auf beiden Fremdschlüssel
1241 zu testen versuchen - Operand 1 Spalte enthalten sollte (n)
Abfrage:
SELECT tba_id FROM tableA
WHERE tba_id NOT IN
(SELECT tbb_tbAID1,tbb_tbAID2 FROM tableB
WHERE tbb_date > '$date2')
Versuchen Sie 2:
SELECT tba_id FROM tableA
WHERE tba_id NOT EXISTS
(SELECT 1 FROM tableB
WHERE (tba_id = tbb_tbAID1 OR tba_id = tbb_tbAID2)
AND tbb_date > '$date2')
Aber bekommt mehr Ergebnisse als beim ersten Versuch (das legt nahe, dass es extrem falsch gemacht)
Try3:
SELECT tba_id FROM tableA JOIN tableB ON tba_id!=tbb_tbAID1 AND tba_is!=tbb_tbAID2 WHERE tbb_data > '$data'
Diese Daten über enormen Satz führt, weit weg von dem ersten Methode.
Dies beantwortet meine Frage nicht vollständig, da ich wirklich mit 'JOIN' zuvor versucht habe (tut mir leid, dass ich es nicht erwähnt habe, Frage aktualisiert) und es nicht aus tableBs' Daten' auswählt –