我有兩個表TABLE_A
和TABLE_B
具有加入列作爲員工號碼EMPNO
。SQL左外部連接只有右側的一些行?
我想做一個正常的左外連接。但是,TABLE_B
有一些軟刪除的記錄(status='D'
),我希望這些被包含。爲了澄清,TABLE_B
可能有活動記錄(status = null/a/anything)以及已刪除的記錄,在這種情況下,我不希望該員工在我的結果中。但是,如果在TABLE_B
中只有員工的刪除記錄,我希望將該員工列入結果。我希望我明確了我的要求。 (我可以做很長的qrslt類的東西,並得到我想要的,但我認爲必須有一個更優化的方式來使用連接語法來做到這一點)。將不勝感激任何建議(即使沒有加入)。他的新手正在嘗試以下查詢而沒有想要的結果:
SELECT TABLE_A.EMPNO
FROM TABLE_A
LEFT OUTER JOIN TABLE_B ON TABLE_A.EMPNO = TABLE_B.EMPNO AND TABLE_B.STATUS<>'D'
非常感謝任何幫助。
這並不能滿足這個要求,包括行,其中的僱工*只有*已刪除記錄,是嗎? – Eric 2009-08-24 12:22:01
其實它的確如此。員工只有在TAble_b中刪除了記錄(但在TABLE_A中有一行)。好的,當我到辦公室時,必須再次檢查。 – 2009-08-28 06:40:33