如果仅在特定日期之后才存在,如何选择行?

时间:2019-02-22 20:52:11

标签: sql

如果数据在指定日期之后存在,如何选择行?例如,我想查找TIN在2017年之前不在数据库中时的收入。如果TIN在2017年之前在数据库中,则我不想拉前几年的收入。

例如,这将提取所有收入,并且不考虑是否存在与TIN之前相关的数据。

SELECT [DateRevenueAccrued]
  ,[TIN]
  ,[Net Revenue]
FROM [CSTM].[reports].[IncomeNew]
WHERE DateRevenueAccrued > '1/1/2017'

2 个答案:

答案 0 :(得分:2)

这是您想要的吗?

SELECT [DateRevenueAccrued], [TIN], [Net Revenue]
FROM [CSTM].[reports].[IncomeNew] i
WHERE NOT EXISTS (SELECT 1
                  FROM [CSTM].[reports].[IncomeNew] i2
                  WHERE i2.TIN = i.TIN AND
                        DateRevenueAccrued < '2017-01-01'
                  );

答案 1 :(得分:0)

如果问题是TIN,我猜下面  存在/不存在,尽管它是逐行

       SELECT REVENUE FROM TABLE 
      WHERE (DateRevenueAccrued < 
      '1/1/2017' AND TIN IS NULL )OR
        (DateRevenueAccrued >=
      '1/1/2017')