Ich habe eine Tabelle mit 1256 Datensätze, die aktualisiert werden müssen. Im Grunde ist es eine Anzahl von Datensätzen, die ich einer customObject-Tabelle hinzufügen muss. Ich muss alle Datensätze aktualisieren, die objectNumber = 6 haben, und wenn es Objektnummer 6 nicht habe, muss ich diese Datensätze erstellen.Benötigen SQL-Abfrage, um verschiedene Daten zurückzugeben
Als ich für die 1256 Datensätze in der Datenbank suchen, werden 976 zurück 280 Datensätze Bedeutung haben nicht ‚Objektnummer‘ 6.
Ich finde die Datensätze mit Objektnummer 6 die folgende Abfrage verwenden:
SELECT
a.column1,
a.column2,
a.objectNumber,
b.customcolumn
b.column2
FROM table1 a WITH (NOLOCK)
INNER JOIN table2 b ON a.column2 = b.column2
WHERE a.column1 IN (<my list of 1256 Ids go here>)
AND a.objectNumber = 6
Ich möchte die 280 Datensätze zurückgeben, die Objekt Nr. 6 NICHT haben. Das Problem mit der Änderung meiner letzten Zeile der Abfrage zu AND a.objectNumber <> 6
bedeutet, dass ich alle Datensätze mit Objekt Nummer 1, 2, 3, 4 usw. zurückgeben und zurückgibt über 3000 Reihen.
Würde das Ergebnis ohne die 'AND a.objectNumber = 6 'die 1256 Datensätze zurückgeben? Also, was meinst du mit ** habe nicht 'objectNumber' 6 **? Ist die Zelle ** null **? * (Um die 280 Datensätze von Nichten zu finden, würde das Erreichen der 1256 Datensätze ausreichen.) * – Edu
Ist es möglich, dass mehrere Zeilen in 'a' oder' b' denselben Wert in Spalte2 haben? Wenn dies der Fall ist, gibt die Abfrage eine Zeile für jede gültige Kombination der Tabellen a und b zurück. –
Ich denke, was Sie wollen, ist 'LINKE VERBINDUNG table2 b ON a.column2 = b.column2 UND a.objectNumber = 6' – mustaccio