我试图从过去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