报告的存储过程

时间:2015-09-28 01:45:21

标签: sql-server

在我的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'或者'没有工作'?

1 个答案:

答案 0 :(得分: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,除非您打算删除重复项。