我試圖從過去4周內從以前沒有打過電話的數據庫調用過的所有新號碼。SQL Server 2008 - 選擇NOT EXSIST
所以基本上任何新的數字在過去4個星期....
我已到目前爲止是腳本: -
SELECT Telephone,
Houseno,
Street,
Tostreet,
Passengername,
Acceptancedate
FROM Telephone AS t
WHERE AcceptanceDate >= DATEADD(day,-28, GETDATE()) AND Telephone like '07%' or Telephone like '+447%' or Telephone like '+44 7%'
or Telephone like '+44 7%' or Telephone like '+47%' or Telephone like '01%'
AND NOT EXISTS
( SELECT 1
FROM Telephone AS t2
WHERE t2.Telephone = t.Telephone
AND t2.Acceptancedate < DATEADD(day,-28, GETDATE())
);
但是客戶端是說它返回數量太多這導致我認爲上面的腳本是不正確的一些如何,
有沒有人知道我在做什麼錯了?
過去兩週... -28天?也許它返回太多,因爲你選擇了28而不是14天。 – 2014-09-01 09:55:38
你知道你的布爾表達式實際上是如何計算關於運算符優先級的嗎(比如,AND優先級和OR優先級)?因爲它看起來像你可以使用一些括號... – 2014-09-01 10:19:08
忘記編輯該部分@TimSchmelter - 客戶端將他們的想法從14改爲28 – nsilva 2014-09-04 18:29:54