T-SQL ", Wo nicht" mit zwei Spalten
Möchte ich wählen Sie alle Datensätze aus einer Tabelle T1, in denen die Werte in den Spalten A und B hat keine passenden Tupel für die Spalten C und D in Tabelle T2.
In mysql ", Wo nicht" mit zwei Spalten ich Lesen kann wie das zu erreichen ist, dass die Verwendung der form select A,B from T1 where (A,B) not in (SELECT C,D aus T2), aber nicht, dass in T-SQL für mich was in "Incorrect syntax near ','.".
So, wie mache ich das?
InformationsquelleAutor Anders Lindén | 2012-07-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie eine korrelierte sub-query:
Stellen Sie sicher, es ist ein zusammengesetzter index auf SecondaryTable über
(c, d)
, es sei denn, die Tabelle enthält nicht die Anzahl der Zeilen.Funktioniert nicht. FirstTable nicht erklären, im zweiten WÄHLEN.
InformationsquelleAutor Tomalak
Können Sie nicht tun dies mit einer
WHERE IN
type-Anweisung.Stattdessen können Sie
LEFT JOIN
an die Ziel-Tabelle (T2), und wählen Sie, wo T2.ID istNULL
.Beispielsweise
werden nur Zeilen aus T1, die keine entsprechende Zeile in T2.
InformationsquelleAutor Kirk Broadhurst
Habe ich es in Mysql, weil Mysql gibt es nicht "AUSSCHLIEßEN" - Anweisung.
Diesem code:
SQL-Anweisung:
FH-Inway: ich Schreibe den Kommentar bevor Sie code.
Danke. Könnten Sie werfen Sie einen Blick auf Ihren ersten Satz, ich bin mir nicht sicher, was Sie sagen wollen. Die Frage war über T-SQL, weil MySQL nicht unterstützt
WHERE NOT IN
.Ich hatte das gleiche problem, aber in Mysql. Wenn ich es gelöst, ich habe meine Antwort hier, vielleicht wäre das nützlich für die Menschen, die die Arbeit mit mysql. Diese Methode funktioniert auch für T-SQL.
InformationsquelleAutor Malus Jan
Hier ist ein Beispiel für die Antwort, die für mich gearbeitet:
Sehen Sie beide Spalten existieren in LCSourceFileTransaction, aber ein tritt in LCSource und ein tritt in FileTransaction und LCSourceFileTransaction ist eine mapping-Tabelle. Ich möchte finden alle Datensätze, in denen die Kombination der beiden Spalten ist nicht in der mapping-Tabelle. Dies funktioniert Super. Hoffe, das jemand hilft.
InformationsquelleAutor Scott Shepherd