SQL-Update-Anweisung mit einer Case Select-Innen
Ich möchten, führen Sie eine Massen-update-Anweisung, wählt den min und max einer Spalte. Das Problem ist, dass es mehrere Spalten mit null-Werten. Wenn NULL
dann möchte ich um die MinValue
zu 0
.
Habe ich die folgende Aussage, aber ich erhalte eine Fehler mit der SELECT
und ELSE
:
UPDATE Table1 SET MaxValue = (
SELECT MAX(column1) FROM Table2),
MinValue = (CASE
WHEN SELECT MIN(column1) FROM Table2 <> NULL
THEN SELECT MIN(column1) FROM Table2
ELSE '0'
END)
Was bin ich?
Das kann man nicht vergleichen zu NULL in dieser Art und Weise und ich bin ziemlich sicher, dass MIN ignorieren Null-Werte, es sei denn, es gibt keine anderen Optionen... nicht der Grund für Ihre Fehler, aber werden Sie Probleme haben. FALL entworfen, um den gleichen Datentyp, also durch drehen 0 in einem string können Sie auch selbst verletzt.
Tut Tabelle1 haben, eine Beziehung mit Tabelle2?
Haben Sie versucht, setzen Sie Klammern um die Unterabfrage in dem Fall wie diesem:
Bitte nicht verspotten uns, indem Sie sagen, dass Sie auch Fehler, aber dass Sie nicht teilen Sie Sie. Tun Sie wirklich wollen, um zu aktualisieren alle Zeilen, also ohne WHERE-Klausel, mit der dieselbe MinValue und MaxValue ist, D. H. keine Korrelation der Unterabfrage?
Tut Tabelle1 haben, eine Beziehung mit Tabelle2?
Haben Sie versucht, setzen Sie Klammern um die Unterabfrage in dem Fall wie diesem:
WHEN (SELECT MIN(column1) FROM Table2) <> NULL
Bitte nicht verspotten uns, indem Sie sagen, dass Sie auch Fehler, aber dass Sie nicht teilen Sie Sie. Tun Sie wirklich wollen, um zu aktualisieren alle Zeilen, also ohne WHERE-Klausel, mit der dieselbe MinValue und MaxValue ist, D. H. keine Korrelation der Unterabfrage?
InformationsquelleAutor Stanley Cup Phil | 2013-12-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier sind einige sofort offensichtlich Anpassungen, die Sie vornehmen müssen:
Ansonsten sind Sie effektiv Koaleszenz mit einer
CASE
: ich würdeCOALESCE
statt.Danke, @JohnGibb. Guten Fang. Ich aktualisierte die Antwort zu reflektieren, dass eine zusätzliche Anpassung.
InformationsquelleAutor J0e3gan
Wie über dieses?
InformationsquelleAutor John Woo
Warum nicht
InformationsquelleAutor Luc M
Tut Tabelle1 nur 1 Zeile? Wie kommt es, dass du einen Tisch? Haben Sie sich überlegt mit einem Blick?
Auch, warum nicht verschmelzen der max auch.. nur für den Fall.
Wenn Sie müssen, verwenden Sie eine Tabelle...
InformationsquelleAutor sam yi