Oracle SQL을 사용하고 있습니다. 나는 사람들의 목록을 원하는왼쪽 외부 결합 IN 연산자
People
PersonID Name
1 Elmo
2 Oscar
3 Chris
Attribute
PersonID Attribute
1 Happy
1 Muppet
1 Popular
2 Grouchy
2 Muppet
2 Popular
3 Programmer
그리고 나는 우리가 그들을 행복하게 또는 울상 인의 지식을 가지고 있는지 알고 싶어 : 는 여기에 몇 가지 예를 들어 테이블입니다. 나는 노동 조합이 작동합니다 알고
SELECT p.Name, a.Attribute
FROM People p
LEFT OUTER JOIN Attributes a
ON p.PersonID = a.PersonID AND a.Attribute IN ('Happy','Grouchy')
:이 쿼리를 사용하는 경우
Name Mood
Elmo Happy
Oscar null (Happy)
Chris null (Happy)
Elmo null (Grouchy)
Oscar Grouchy
Chris null (Grouchy)
, 그것은 내가 원하는 추가 널 결과 행을 반환하지 않습니다 : 다음은 내가 원하는 출력됩니다. 이것을 할 수있는 다른 방법이 있습니까?
제 게으름, 나는 기존의 질문을 수정했습니다.
:이
cross join
및left join
를 사용? –"IN"상태에있는 각 분위기에 대해 속성 테이블에 대한 조인이 필요합니다. Elmo와 Elmo를 돌려 주면 불가능합니다. NULL – TMNT2014
@ GoatCO 네, 맞습니다. – xenres