2011-09-15 3 views
1

c1, c2cx 열이있는 테이블 t이있는 경우 양식의 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). 제공하는 기능을 사용하지 않는 경우 가상 행 블록을 사용할 이유가 없습니다.

관련 문제