SQL-Server/Access - Order BY 1,2?

Kam ich über eine Abfrage heute,

SELECT col1,'yes' as col2  FROM myTable  
   WHERE col2=TRUE  
UNION  
SELECT col1,'no' as col2 FROM mytable  
   WHERE col2=FALSE  
ORDER BY 1,2  

Dachte ich, es würde um, indem Sie zuerst die Spalte und dann die zweite aber seit einem UNION beteiligt ist, bin ich ein bisschen unsicher, kann jemand erklären die genaue Bedeutung dieser Abfrage

Meinst du, gehören der Zugang für einen Grund? Die RDBMS sind Sie bei Ausführung der Abfrage?
Naja, abgesehen von deiner Frage, habe ich eines meiner eigenen, warum machst du es so? Sicherlich ein SELECT col1, CASE WHEN col2 = TRUE THEN 'yes' ELSE 'no' END as col2 FROM mytable ORDER BY 1, 2 wäre vorzuziehen, nicht?
Generell ist die Abfrage, die Sie vorschlagen, ist nicht ganz äquivalent zu der OP. Wenn col2 null-Werte zulässt und nicht enthalten, Null-Werte, die zwei Abfragen, Ihre und OP ist, würden unterschiedliche Ergebnisse zurückgeben. Aber im Grunde haben Sie einen ausgezeichneten Punkt, natürlich.
Vereinbart wurde, die ich aber nicht als NULL ist, das müsste berücksichtigt werden, die in eine solche Lösung.

InformationsquelleAutor Sujit Prabhakaran | 2011-06-22

Schreibe einen Kommentar