2010-10-21 35 views
0

表1如何检查sql server中的条件?

slitem firstname lastname 
    1   aaa   bbb 

表2

slitem firstname lastname 
1   null   null 
2   null  null 

结果:

slitem firstname lastname 
    1   aaa   bbb 
    2  null   null 

我想加入这个两个表....

帮我

回答

0

这听起来像你正在寻找一个左外连接:

SELECT * FROM表1 LEFT JOIN表2 ON table2.slitem = Table1.slitem WHERE 1 = 1

+1

你从哪里得到了标准的左外连接?他希望每个slitem的非空值(如果存在)。 – JNK 2010-10-21 19:36:16

+0

你说得对,我应该说正确的加入。 – 2010-10-21 19:56:12

2
SELECT COALESCE(t1.slitem, t2.slitem) AS slitem, 
     COALESCE(t1.firstname, t2.firstname) AS firstname, 
     COALESCE(t1.lastname, t2.lastname) AS lastname 
FROM  table1 t1 
FULL JOIN table2 t2 ON t1.slitem = t2.slitem 

(编辑因为OMG小马编辑我的FULL JOIN变成LEFT JOIN ......这不是我的意图!)

0

你想要一个左连接,就像其他答案所说...但考虑到这是一个相当基本的事情知道什么时候工作的SQL,你可能想要阅读一下它。 Here's a good place to start.

+0

由于'table1'只有1行,'table2'有2个,结果有两个,所以这是一个正确的连接,或者是一个完整的外连接。 – Lucero 2010-10-21 19:38:14

+0

你说得对,我的错。我也是一个小孩,错过了那部分,但链接仍然是一个好地方让他开始阅读:) – IWriteApps 2010-10-21 19:40:43