반응형
DISTINCT 키워드를 사용하면 SELECTED 식이 아닌 에러가 발생합니다.
다음과 같은 질문이 있습니다.
SELECT DISTINCT share.rooms
FROM Shares share
left join share.rooms.buildingAdditions.buildings.buildingInfoses as bi
... //where clause omitted
ORDER BY share.rooms.floors.floorOrder, share.rooms.roomNumber,
share.rooms.firstEffectiveAt, share.shareNumber, share.sharePercent
그 결과 다음과 같은 예외가 발생합니다.
Caused by: org.hibernate.exception.SQLGrammarException: ORA-01791: not a SELECTed expression
DISTINCT 키워드를 삭제하면 쿼리는 문제없이 실행됩니다.Order by clause를 삭제하면 쿼리는 문제없이 실행됩니다.유감스럽게도 중복되지 않으면 주문한 결과 세트를 받을 수 없을 것 같습니다.
계산되지 않는 열을 사용하여 결과를 정렬하려고 합니다.이 문제는 문제가 되지 않을 겁니다.DISTINCT
여기서, 하지만 당신의 쿼리는 기본적으로 다음 방법으로만 그룹화되기 때문입니다.share.rooms
열, 같은 열에 대해 여러 개의 값을 가질 수 있는 다른 열과 함께 결과 세트를 정렬하려면 어떻게 해야 합니까?share.rooms
하나?
이 게시물은 조금 오래되었지만, 이 오류를 피하기 위해 제가 한 일 중 하나는 쿼리를 랩하고 주문을 이렇게 외부에 적용하는 것입니다.
SELECT COL
FROM (
SELECT DISTINCT COL, ORDER_BY_COL
FROM TABLE
// ADD JOINS, WHERE CLAUSES, ETC.
)
ORDER BY ORDER_BY_COL;
이것이 도움이 되기를 바랍니다:)
사용시DISTINCT
를 가진 쿼리에서ORDER BY
에서 사용한 모든 열을 선택해야 합니다.ORDER BY
스테이트먼트:
SELECT DISTINCT share.rooms.floors.floorOrder, share.rooms.roomNumber,
share.rooms.firstEffectiveAt, share.shareNumber, share.sharePercent
...
ORDER BY share.rooms.floors.floorOrder, share.rooms.roomNumber,
share.rooms.firstEffectiveAt, share.shareNumber, share.sharePercent
언급URL : https://stackoverflow.com/questions/15275447/using-the-distinct-keyword-causes-this-error-not-a-selected-expression
반응형
'programing' 카테고리의 다른 글
어레이 및 기능과의 옵션 체인을 사용하려면 어떻게 해야 합니까? (0) | 2023.03.12 |
---|---|
Jquery Ajax 웹 서비스에 JSON 게시 (0) | 2023.03.12 |
워드프레스에 PHP 알림이 표시되지 않도록 하려면 어떻게 해야 합니까? (0) | 2023.03.12 |
Larabel 5 컨트롤러가 JSON 정수를 문자열로 전송 (0) | 2023.03.12 |
라디오 버튼으로서의 WooCommerce의 종류 (0) | 2023.03.12 |