Wie alle Zeilen mit Wert in einer Statusspalte (nicht null) Gruppe nach ID-Spalte abrufen.identifizieren Zeilen mit nicht null Werte in Sql
Id Name Status
1394 Test 1 Y
1394 Test 2 null
1394 Test 3 null
1395 Test 4 Y
1395 Test 5 Y
Ich schrieb wie select * from table where status = 'Y'
. Es bringt mir 3 Aufzeichnungen, wie man Bedingung hinzufügt, um nur letzte 2 hereinzubringen? Die ID 1394 hat zwei weitere Datensätze, deren Status Null ist.
Die Verwendung von "nicht in" -Klauseln, während ein "einfacher Weg" in der Regel nicht gut abläuft .... ein Outer-Join zur Sammlung von Nullstatus-IDs wird bevorzugt. – JasonInVegas
@jason das ist einfacher zu verstehen und wenn das Datenvolumen massiv ist, wird dies gut funktionieren. Oft wird der Optimierer dies trotzdem in einen Join umwandeln, so dass die Performance mit einem codierten Join übereinstimmen kann. – Bohemian