2013-03-23 1 views
0

이 간단한 스키마를 감안할 때?"or"또는 SQL에 가입하면 어떻게됩니까? 나는 다음과 같은 쿼리를 수행하고 아래 그림과 같이 OR를 사용하여 가입하는 경우 정확히 어떻게됩니까</p> <pre><code>create table A(pk int primary key, R1 int, R2 int); create table B(pk int primary key); </code></pre> <p>:

select * 
from A 
join B 
on A.R1 = B.pk or A.R2 = B.pk 

나는 다음과 같은 경우에 관심이 있어요 : 행이 B에 다른 PK와에 어디 R1과 R2 모두이 점을 존재

경우는 어떻게? 조인의 결과로 여러 개의 레코드로 끝나거나 orr의 왼쪽으로 기본값이 설정되어 A.R1 = B.pk와 일치합니까?


PS : 나는 태블릿에서 코드를 읽고 있어요 그래서 그것을 자신을 실행합니다 :) 나는 인터넷 검색을 시도 말하지 마십시오, 그것을 테스트 할 수있는 DB를 가지고 있지 않지만 찾을 수 없습니다 정확한 상황.

+1

당신은 A. –

답변

2

두 행이 있습니다.

인터넷을 사용하는 경우 항상 SQL Fiddle을 넘겨 줄 데이터베이스가 있습니다.이 링크는 질문에 대한 답변입니다.

+0

에서 두번의 기록으로 끝날 것입니다, 고마워요. 필자는 SQL Fiddle에 대해 완전히 잊었다. 누군가 나 한테 몇 달 전에 보여 줬어. 나는 그것을 사용하기 시작할 것이다 :) –

관련 문제