如果某些字段没有结果,则显示为null



我正在使用SQL Server2008。我正在尝试显示数量和传输的零结果,但仍显示项目名称。

我的查询是:

select project, amount, transdate 
from rec 
where transdate>'2017-05-01' 
  and project like 'project%'

当我执行此操作时,我没有得到结果,只是空白。我想看到的是。

project 1 | null | null
project 2 | null | null
project 3 | null | null

您可以使用OR检查范围的过渡和检查null之类的null:

select project,
    amount,
    transdate
from rec
where (
        transdate is null
        or transdate > '2017-05-01'
        )
    and project like '%out'

尚不完全清楚您想要什么,但听起来您想返回所有项目,无论它是否符合您的Where子句中的标准。您应该能够通过左JOIN加入表格来获得结果:

select 
  r1.project,
  r2.amount,
  r2.transdate
from rec r1
left join rec r2
  on r1.project = r2.project  -- I'd change this to the PK on your table
  and r2.transdate > '2017-05-01'
  and r2.project like '%out';

这是一个演示。

select project, amount, transdate 
from rec 
where 
(transdate>'2017-05-01' or transdate is null)
  and project like 'project%'

相关内容

  • 没有找到相关文章

最新更新