我是一名sql初學者。我面臨以下問題。作用於表連接的SQL命令
表1
c1,c2
1,11
2,22
表2
c2,c3
22,221
22,231
我不得不加入在C2上表,但消除連接結果C1的一排,當且僅當在表2中存在C2數據,所以我採取以下做法
第1步: -
select t1.c1,
t1.c2,
t2.c3 as c3
into #temp
from Table1 t1
left join Table t2
on t1.c2 = t2.c2
第2步: -
delete from #temp where c3 is null
這種做法實際上是刪除的1,11,null
結果以及因爲它得到了作爲左連接的一部分創建。我只想要2,22,null
的數據被刪除。
是否有可用的命令檢查這種情況?
謝謝!
鑑於您的數據和查詢,不應創建'2,22,null'。 – 2014-09-02 14:36:20
爲了討論起見,我們假設'{2,22,null}'將由另一個插入語句創建。爲什麼要刪除2而不是1 – 2014-09-02 14:39:33
讓我驗證結果,因爲數據不在我面前。讓我來解決這個問題,並將結果再次提出問題。 – 100pipers 2014-09-02 14:48:04