2015-09-28 152 views
0

在我的存儲的SQL Server的過程中,下面的代碼是有問題存儲過程報告

SELECT NULL AS s_empname 
UNION 
SELECT s_empname FROM ps_OFFICE 

在這方面,我沒有得到NULL的第一選擇,因爲它不是一個字符串。如果我通過它:

SELECT ('NULL') AS ps_name 
UNION 
SELECT ps_name ps_OFFICE 

它不工作。

如何更新第一個NULL必須是s_empname但必須在報告的下拉列表中顯示爲'NULL'或'No job'?

回答

0

unionunion all不保證結果的排序。只有ORDER BY子句這樣做。

所以,你應該使用:

SELECT s_empname 
FROM (SELECT NULL AS s_empname, 1 as priority 
     UNION 
     select s_empname, 2 from ps_OFFICE 
    ) t 
ORDER BY priority; 

你應該使用UNION ALL,除非你打算刪除重複。

+0

空正顯示出作爲第一選擇,當我在SQL服務器,但在報告NULL執行不作爲第一顯示,因爲它是不是NULL NULL.SO如果我希望NULL被顯示爲「NoOfficeName」作爲第一選項,那麼怎麼能我修改上面code.Thanks –

+0

只要改變'NULL'到'NoOfficeName'。 –

+0

非常感謝 –