Ich kam in einem seltsamen Verhalten einer Abfrage, die ich für eine SQL Server renne jetzt 2014.SELECT gibt datarow zweimal
SELECT *
FROM ExampleTable
WHERE ExampleTimestamp < '22.06.2016 15:35:00'
Das Merkwürdige ist, dass es eine Reihe zweimal zurückgibt, was ich habe nicht erwartet zu passieren.
Aus den Daten kann ich sehen, dass zwei Spalten der doppelten Zeilen in jedem Vorkommen unterschiedlich sind (eine davon ist die ExampleTimestamp
Spalte).
Es ist wahrscheinlich, dass die Datenzeile durch einen anderen Thread geändert wurde, aber ist es normal, dass die Datenzeile dann zweimal in einem DataTable
zurückgegeben wird?
Wie kann ich verhindern, dass eine Zeile zweimal angezeigt wird, wenn sie während der Abfrage geändert wurde?
Sie können versuchen, 'DISTINCT' –
zu verwenden Ich glaube nicht, dass' DISTINCT' hier die Arbeit erledigen wird, da ich alle Spalten zurückgeben muss. Da es Unterschiede zwischen den zwei Zeilen gibt, wird es immer noch beide zurückgeben. Zusätzlich, wenn ich distinct auf der PK dieser Spalte verwende, welcher Datenteil sollte der SQL-Server dann zurückgeben? –
Sie machen nicht viel Sinn. Der Grund, warum es die 2 Zeilen zurückgibt, ist, dass sie anders sind, du hast gerade gesagt, dass sie anders sind.DISTINCT hat auch nichts mit Entfernen von Spalten zu tun –