2013-06-23 53 views

回答

2

假設我已經理解了你的問題。如果你在兩列想要訂購依賴於價值,你可以通過使用條件操作的順序,例如:

SELECT 
    * 
FROM Employee 
ORDER BY 
    CASE 
     WHEN login_time > logout_time THEN login_time 
     ELSE logout_time 
    END DESC 

然而理想,如果你想通過最後的「更新」記錄命令。就我個人而言,我會重新審視數據庫設計,並在更新值時獲得填充的'DateUpdated'列,您可以直接按順序進行排序。

+0

感謝@JBond,上面的查詢工作正常時,都列login_time和logout_time有數據,但如果logout_time不填充然後記錄順序不正確顯示。我試着將這條線放到WHEN login_time> logout_time或logout_time = 0 THEN login_time,但dint成功。你能否請你做必要的 – User12345

+0

我完美地通過追加WHEN login_time> logout_time或logout_time IS NULL然後login_time來完美實現它。非常感謝@JBond提供這樣一個好主意.. – User12345

0
select * from Employee order by login_time desc 
+0

感謝@Polina,但如果logout_time將是最新的,然後上面的查詢將不能給出正確的輸出。我希望無論什麼時候是最新的顯示。 – User12345

+0

我顯然誤解了這個問題... –