2014-09-18 2 views
0

나는 다음과 같은 조건을 가지고 절은 어디를 가입 hibernat하기 a.system = 'Test'또는 더 이상 외부 조인이 아닌 a.system = null 일 때 데이터를 반환합니다.오라클 더하기 기호 표기법은

거기에 올바른 해결책이 있습니까?

답변

0

왼쪽 가입시 가입 조건을 입력하면됩니다. 아래 예제에서 테이블 b의 일치하는 필드를 사용하여 테이블 a의 모든 행을 가져오고 b에 일치하는 행이 없을 때 null을 반환합니다.

select * 
from a left join b on a.field = b.field and b.system = 'Test' 

전체 검색어를 게시하면 명확 해집니다.

+0

: 같은 ANSI에 해당하는 쿼리가 보일 것이다. 하지만 JPA를 사용하려면 모든 관계를 @Table 클래스에 정의해야합니다. 이것은 상수에 대한 조인이기 때문에 어떻게해야하는지 혼란 스럽습니다. – Joseph

+0

은 시스템 = '테스트'유일한 조건입니까? 테이블 구조와 전체 쿼리를 게시하거나 예상 결과를 설명하십시오. – 1010

+0

이것이 귀하의 사례 인 것 같습니다 [link] (http://stackoverflow.com/questions/10202456/how-to-create-a-jpa-query-with-left-outer-join) – 1010

0

더 자세히 설명하려면 항상 join two tables 또는 result set 또는 테이블처럼 작동하는 '보기'입니다. 여기에 상수로 '테스트'가 있습니다. 내가 이해

FROM table_a a LEFT JOIN table_b b ON a.column = b.column AND b.system = 'TEST'

관련 문제