我正在使用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%'