2012-10-17 61 views
2

我的第一個結果是這樣的加入兩個SQL結果

ID  Name 
---------------------------------- 
1  George 
2  Peter 
3  San 

我的另一結果是這樣的

AnotherID  ID  Note 
----------------------------------- 
1    1  georgesnote1 
2    1  georgesnote2 
3    3  sansnote1 
4    1  georgesnote3 

我多麼希望他們看:

ID  Name  Note 
---------------------------------- 
1  George  georgesnote1 
1  George  georgesnote2 
1  George  georgesnote3 
2  Peter  NULL 
3  San   sansnote1 

我的SQL知識幾乎限制了我實現這一目標。我想我需要像UNION ALL這樣的東西。內部聯接或左外部聯接不起作用。我的實際查詢大約有21行,所以這不是初學者的問題。我需要的是基於相同的ID加入兩個結果。請有人指導我。

+0

選擇n.ID,n.Name,從名字t.note ň 留在n.id = t.id –

+0

大家加入筆記牛逼 。感謝您的幫助。真的很感激!根據給定的答案修復了我的查詢,並從第一個答案中選擇了第一個答案。 –

回答

2

你需要一個LEFT JOIN什麼您這裏需要。

退房http://www.w3schools.com/sql/sql_join_left.asp

Assugming第一表被稱爲第一和第二被稱爲第二。 第一張桌子上的列ID將與第二張桌子上的列ID匹配。

SELECT first.id, first.name, second.note 
FROM first 
LEFT JOIN second 
ON first.id = second.id 
ORDER BY first.id 
+1

它應該是'ON first.id = second.id' –

+0

是的,對不起。編輯。 – Baconator507

+0

8個相同的答案,但我想我應該接受你的答案,因爲你是第一個答案。感謝您的幫助。 –

2
SELECT 
    N1.ID, N1.Name, N2.Note 
FROM 
    Names N1 
    LEFT JOIN Notes N2 ON N1.ID = N2.ID 
ORDER BY 
    N1.ID 
2

你必須使用left join

select r1.id, r1.Name, r2.Note 
from result1 r1 
left join result2 r2 on r2.id = r1.id 
order by 1 

但如果你結果來自其他奎雷斯嘗試下面添加這些奎雷斯:

select r1.id, r1.Name, r2.Note 
from (select id,name from tab1) r1 
left join (select id,note from tab2) r2 on r2.id = r1.id 
order by 1 

Here你可以找到更多infogramation about left join

+0

爲什麼-1?或許請點評? – Parado

1
Select sur.ID, sur.NAME, not.NOTE 
FROM SURNAME sur 
LEFT JOIN NOTES not 
ON sur.ID = not.ID 
1
select 
    T1.ID, 
    T1.Name, 
    T2.Note 
from Table1 as T1.ID 
    left outer Table2 as T2 on T2.ID = T1.ID 
1

LEFT JOIN是因爲你想從表1中選擇的所有記錄whetehr它有一個匹配的或不按表2

SELECT a.ID, a.Name, b.Note 
FROM table1 a 
     LEFT JOIN table2 b 
      ON a.ID = b.ID 
1
select table1.id,table1.name,table2.note from table1 left join table2 on table1.id=table2.id 
2
select n.ID, n.Name, t.note 
    from names n 
    left join notes t 
    on n.id = t.id 
+0

關於爲什麼左連接不起作用的意見,將不勝感激。 –

+0

我想加入另一個表(現在在我的第二個查詢中)到我的第一個帶有左外連接的查詢。出於某種原因,同樣的結果顯示x4次,只是無法修復它。然後我開始尋找一種方法來加入兩個不同的查詢,以便我可以得到合適的結果。在我的情況下,左外部沒有工作。 –

+0

也許你應該粘貼這兩個查詢 –