在两个日期之间获得IDS;重新设计表或修复SQL

时间:2014-02-15 06:30:11

标签: sql sql-server

我在数据库方面并不重要,需要一些输入。我有一个Dates表与一些其他表交叉连接。我有可以输入的报告,可以是每周财务报告,每月或每天。我希望每月,每周或每天都能获得两个日期之间的所有ID。我认为这个表的设计是一个大问题,如果我编译一个用于保存时间戳的列会更好吗?或者这个设计可以工作吗?由于嵌套的AND,SQL部分不起作用,我似乎无法解决这个问题。

顺便说一句,用例不是针对企业而是个人项目。

SQL

  SELECT * FROM Dates
  WHERE ([Day] IS NULL AND [Week] IS NULL)

  SELECT * FROM Dates
  WHERE ([Day] IS NULL AND [Week] IS NULL) 
    AND (
        ([Month] >= '11' AND [Year] = '2013')
        AND 
        ([Month] < '2' AND [Year] = '2014')
        )

结果

SQL Result

1 个答案:

答案 0 :(得分:1)

就像我们在聊天中想到的那样,这里的答案是嵌套的AND应该是一个OR: - )