2013-06-13 47 views
0

我在这样的sql server中有两个表。从sql server中的两个表中提取记录

表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查询表2中的数据,其他智能表1中的数据。如果用户标识不存在于表1中并仅从表2获取记录。

+0

如果有用户ID匹配,则从表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

试试这个

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 
相关问题