1
考慮表中的column1的值爲'A'或'B'或null。如果Column1的值爲'A',則需要執行選擇查詢,按列2排序,否則需要執行選擇查詢,按列3排序。在一個查詢中使用兩個不同順序的語句
你能幫我通過單個查詢來達到這個要求嗎?
考慮表中的column1的值爲'A'或'B'或null。如果Column1的值爲'A',則需要執行選擇查詢,按列2排序,否則需要執行選擇查詢,按列3排序。在一個查詢中使用兩個不同順序的語句
你能幫我通過單個查詢來達到這個要求嗎?
只是一個猜測,必須檢查!
select *, decode (column1, 'A', column2, column3) as field_for_order
from your_table
order by field_for_order
您可以直接把那個解碼成'爲了by'條款。不需要額外的列。 – 2012-02-09 13:03:10
+1,乾淨的方法。 – danihp 2012-02-09 13:04:02
+1也可以使用ANSI CASE表達式:'當'A'時,按大小寫column1排序then column2 else column3 end' – 2012-02-09 13:20:03