0

我在 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 中存在任何记录,则记录必须从表 2 中获取数据,否则从表 1 中获取数据。如果表 1 中不存在用户 ID,则仅从表 2 中获取记录。

4

4 回答 4

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
于 2013-06-13T09:31:53.047 回答
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)
于 2013-06-13T09:32:53.593 回答
0

尝试这个:

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

UNION

SELECT *
FROM   table2
于 2013-06-13T09:27:22.887 回答
0

尝试这个

SELECT *
FROM   table1
WHERE  userid NOT IN (select userid from table2)
UNION
SELECT *
FROM   table2
于 2013-06-13T09:39:56.583 回答