Можно ли заказать по невыбранному столбцу в сиквеле? - PullRequest
1 голос
/ 16 сентября 2011

Учитывая таблицу t со столбцами c1, c2 и cx, у меня сбой Продолжение (версия 3.27.0) запроса формы:

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

Может кто-нибудь подтвердить, что это известное поведение / ошибка в сиквеле?

1 Ответ

3 голосов
/ 19 сентября 2011

SQL, выдаваемый Sequel для этого кода: SELECT c1, c2 FROM t ORDER BY cx. Если это не помогло, это, скорее всего, проблема с вашей базой данных (вам нужно будет опубликовать полученную обратную трассировку, если вы хотите ее отладить).

FWIW, я бы использовал следующий код сиквела: DB[:t].order(:cx).select(:c1, :c2). Нет смысла использовать виртуальный блок строк, если вы не используете предоставляемые им функции.

...