2011-09-15 32 views
1

給定一個表tc2c1cx,我有一個失敗Sequel(3.27.0版本)形式的查詢:是否有可能通過Sequel中的非選擇列進行排序?

DB[:t].order(:cx).select{[:c1, :c2]} 

我不需要在我的輸出cx值,我只是想讓它們用於訂購。

等價的SQL是:

SELECT c1, c2 FROM t ORDER BY cx; 

我目前的解決辦法是隻要求cx過,即使我並不需要它:

DB[:t].order(:cx).select{[:c1, :c2, :cx]} 

誰能確認這是Sequel中一個已知的行爲/錯誤?

回答

3

Sequel爲該代碼生成的SQL爲:SELECT c1, c2 FROM t ORDER BY cx。如果失敗了,這很可能是數據庫的一個問題(如果你想調試,你需要發佈你得到的回溯)。

FWIW,我會使用以下續集代碼:DB[:t].order(:cx).select(:c1, :c2)。如果您沒有使用它提供的功能,沒有理由使用虛擬行塊。

相關問題