2010-02-18 88 views
3

我有两个表在sql服务器 - 一个与美国51个州,另一个与名称,州。 与名状态的表有不同的记录,即 -sql查询加入2个表并显示来自1列的所有记录

Seere -- AK 
Seere -- LA 
Seere -- CA 
John -- HI 
John -- MA 

我想要拿起一个名字说“Seere”,并表示从状态表中的所有状态的查询,并且名称连接到那些来自美国第二张桌子,所以

null -- AR 
Seere -- AK 
Seere -- LA 
Seere -- CA 
null -- MA 
null -- CO 

相同的所有名称,我只是选择一个名称和所有状态显示。有任何想法吗?

+5

酷 - 来自未来的问题......(“51个美洲国家”) – Ray 2010-02-18 17:58:23

+0

哈哈抱歉错字..所以哑Ø我 – iuers 2010-02-18 18:00:14

回答

0

使用外连接:

select name_state.name, state_table.state 
    from state_table 
    left outer join name_state 
     on (state_table.state = name_state.state) 
    where name_state.name = "Seere" 
1
SELECT * 
FROM states s 
LEFT JOIN 
     names n 
ON  n.name = 'Seere' 
     AND n.state = s.state