2017-04-04 33 views
0

我在MySQL中有這個查詢。Rails查詢不同的順序取決於列

SELECT * FROM dbo.Employee 
ORDER BY 
CASE WHEN is_outsourcing = 'true' THEN Country END Desc, 
CASE WHEN is_outsourcing = 'false' THEN joined_date END ASC 

我試圖做一個鐵軌查詢,以便所有的is_outsourcing僱員先訂購,他們的訂單由他們的國家決定。其餘員工由joined_date進行排序。

目前,我得到這個查詢首先is_outsoucing訂購:

User.all.order(is_outsourcing DESC) 

但我不知道該怎麼做後期。有人可以幫我弄這個嗎?

回答

0

您可以簡單地把order by邏輯作爲一個字符串:

User.all. 
    order("CASE WHEN is_outsourcing = 'true' THEN Country END Desc, 
     CASE WHEN is_outsourcing = 'false' THEN joined_date END ASC")