1

给定一个包含 和 列的表,tc1有一个失败的Sequel(版本 3.27.0)查询,格式如下:c2cx

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]}

谁能确认这是续集中的已知行为/错误?

4

1 回答 1

3

Sequel 为该代码生成的 SQL 是:SELECT c1, c2 FROM t ORDER BY cx. 如果它失败了,很可能是你的数据库有问题(如果你想调试它,你需要发布你得到的回溯)。

FWIW,我将使用以下 Sequel 代码:DB[:t].order(:cx).select(:c1, :c2). 如果您不使用虚拟行块提供的功能,则没有理由使用它。

于 2011-09-19T16:15:35.267 回答