select art.artno, art.name from Art
left outer join store on art.artno =store.artno
where art.Artno not in (select art.artno from store)
該查詢應該是這樣的,但似乎不工作(我沒有得到列名旁邊的任何結果行)。使用MSSQL 2008.如果只有一列與第二列部分匹配,我如何從第一個表中返回兩列?
table art table store EXPECTED RESULT
artno name artno qty artno name
1 xbox360 1 1 2 XHW
2 XHW 3 2 5 PS2
3 NETANDO 4 1
5 PS2 6 3
6 PS1
4 X1
如何編寫查詢以獲得示例中顯示的Expected out?
只是讓你知道表是100plus K行大,如果有幫助。
最後,爲什麼上面的代碼不起作用有些燈會是有益的。我看着這個this link似乎是外連接必須工作,可能是我根本無法理解這一點。我也試過full outer join
,沒有幫助。使用except
我只能找到artno
,但沒有讓我生成name
列。
@tuncay,謝謝。第二個選項有幫助,但不是第一個,我無法解釋爲什麼,但如果你這樣做會有幫助。 – tough 2012-08-08 12:06:52
請您告訴我後面的's.artno'和's.artno'的位置是否與'join'語句的'left'和'right'有關。 – tough 2012-08-08 14:01:21
我真的不這麼認爲。它是一個條件,我指定了明確的表別名(「a」和「s」)。 – 2012-08-08 14:05:05