2013-06-13 3 views
0

나는 이와 같이 SQL 서버에 두 개의 테이블을 가지고 있습니다.SQL 서버의 두 테이블에서 레코드 가져 오기

표 1

userid value 
a   1 
b   1 
c   1 
d   1 

표 2

userid   value 
e    0 
f    0 
g    0 
a    0 
b    0 

내가 두 테이블

위에서이 같은 출력하고자
usrid   value 
a    0 
b    0 
c    1 
d    1 
e    0 
f    0 
g    0 

모든 레코드가 표 1에 존재하는 경우 , 기록은 fe해야합니다 userid가 테이블 1에없고 테이블 2의 레코드 만 가져 오는 경우 테이블 2, 다른 현명한 테이블 1의 데이터를 찾습니다.

+0

을 시도하십시오, 다음 표 2에서 가져온 값 –

답변

0

이 시도 :

SELECT * 
FROM table1 
WHERE table1.userid NOT IN (select userid from table2) 

UNION 

SELECT * 
FROM table2 
0

을이 시도 :

select ISNULL(t1.usrid,t2.usrid) as usrid 
     ,ISNULL(t1.value,t2.value) as value 
from table1 t1 
outer join table2 t2 on t1.usrid = t2.usrid 
0

어떤 사용자 ID가 일치하는 경우이

SELECT * FROM dbo.Table_2 AS t WHERE t.uid IN (SELECT t2.uid FROM dbo.Table_1 AS t2) 
UNION 
SELECT * FROM dbo.Table_1 AS t WHERE t.uid NOT IN (SELECT t2.uid FROM dbo.Table_2 AS t2) 
UNION 
SELECT * FROM dbo.Table_2 AS t WHERE t.uid NOT IN (SELECT t2.uid FROM dbo.Table_1 AS t2) 
0

SELECT * 
FROM table1 
WHERE userid NOT IN (select userid from table2) 
UNION 
SELECT * 
FROM table2 
관련 문제