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: 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

Schreibe einen Kommentar