2017-05-05 158 views
2

我正在使用sql server 2008.我試圖顯示空值和轉換結果爲空,但仍顯示項目名稱。如果某個字段沒有結果,則顯示空值

我的查詢是:

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 
+2

sql 10.5?那是什麼? – ollie

+1

沒有「SQL 10.5」這樣的東西你正在使用哪種DBMS? –

回答

0

可以使用OR檢查範圍transdate和類似檢查空,因此之間:

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

@Nick請用您的預期數據顯示您的表格模式。 – GurV

+0

道歉這完美的作品。 – Nick

0

這不是完全清楚你想要什麼,但它聽起來像你想返回所有項目無論它是否符合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'; 

這裏是一個demo

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