2010-02-18 98 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 
相關問題