2011-03-14 25 views
4

這是可能返回的所有列在查詢中的空列(NOT NULL)或空行的情況下,實際的查詢返回任何行是否有可能從Sql Server返回空行?

+0

因此,假設您的查詢返回0行,你想要顯示什麼?因爲當你需要的行時,返回所有列是多餘的。 – 2011-03-14 10:30:20

+0

什麼是空列如果不爲空? – RichardTheKiwi 2011-03-14 10:35:56

+0

哦謝謝,我得到了你的注意力理查德,我正在找你,因爲你definetly有答案...看到我的另一個問題... http://stackoverflow.com/questions/5297181/column-does-not-allow- nulls – 2011-03-14 10:37:30

回答

10

一般來說,如果你必須有一個空行返回..

如果原始查詢是

select a,b,c from tbl 

你可以把它變成一個子查詢

select t.a,t.b,t.c 
from (select 1 as adummy) a 
left join (
    select a,b,c from tbl -- original query 
) t on 1=1 

確保查詢永遠會有至少一個的行數。

+0

好吧,讓我試試.. .. – 2011-03-14 10:39:27

+0

非常好...不是一個推薦,但一個聰明的解決方案。花了我好幾分鐘才弄明白*(但那是我的偏見)*。 – 2011-03-14 11:10:57

3

如果你的目標是沒有記錄返回查詢,或與一個空的記錄/數據集,下面應該沒有任何先前的知識工作的原始查詢:

SELECT * FROM (myOriginalQuery) as mySelect WHERE 0 = 1 
相關問題