下面是我的表格結構(足以顯示我需要完成的內容)的一小段代碼,並且我無法獲得正確的語法來實現我的最終結果。我需要完成的是顯示來自#newdatabase的所有記錄(這是簡單的部分,一個select *語句),並且如果#olddatabase中存在記錄,只有在僱員姓名爲null時,纔會排除它。我試過這個查詢,但沒有返回結果集。使用在哪裏加入?
Select #newdatabase.orderID
FROM #newdatabase
LEFT JOIN #oldDatabase
ON #oldDatabase.orderID = #newdatabase.oldorderID
WHERE #oldDatabase.orderID IS NULL
AND #oldDatabase.employeename IS NULL
這裏是我的表結構
Create Table #oldDatabase
(
orderID int,
employeename varchar(100)
)
Create Table #newdatabase
(
orderID int,
oldorderID int
)
INSERT INTO #oldDatabase Values
(1, NULL),(2, NULL),(3, 'Mitch'),(4,'Sam'),(5, 'Streith'),(6, 'Azul'),(7,'Reta'),(8,'Frank'),(9,'Fred'),(10,'Nick'),
(11, NULL),(12, NULL),(13, NULL), (14, NULL), (15, NULL), (16, NULL)
INSERT INTO #newdatabase Values
(100,1), (101,2), (102,3), (103,4), (104,5), (105,6), (106,7), (107,8), (108,9),
(109,10), (110,11), (111,12), (112,13), (113,Null),(114,Null), (115,NULL), (116,NULL),
(117,Null), (118,Null), (119,Null), (120,Null), (121,Null), (122,Null), (123,Null)
寫在前面 - 我想看看在#newdatabase記錄,其中:1)他們不#olddatabase存在或2),如果他們在#olddatabase存在, employeename爲空。 Des澄清?
要從您發佈的示例數據中獲得什麼結果? (我不確定我是否理解你在找什麼,因爲你發佈的SELECT與你的描述不符。) – 2015-02-10 18:28:19
@KenWhite我想在#newdatabase中看到記錄,其中1)它們不存在於#olddatabase中或2)如果它們存在於#olddatabase中並且employeename爲null。 Des澄清? – 2015-02-10 18:31:05
請編輯您的文章,並根據您發佈的樣本數據(在文本列表中)顯示您期望得到的確切結果*。你的SQL仍然不符合你的描述,如果你只是簡單地發表一個代表你希望從樣本數據中得到的結果的表格,那麼你很清楚你在問什麼。 – 2015-02-10 18:34:29