2015-09-23 65 views
0

我有一个报告,该报告将这个存储过程存储过程 - 输出变化

-- Insert statements for procedure here 
SELECT Empname 
FROM EmpComp 

UNION 

SELECT ('NULL') AS Empname 

的值是正确返回提取数据。但是下拉列表在其他数据中间显示NULL。我想要NULL作为下拉列表中的第一个值(以便于选择)。此存储过程连接到具有一个参数(Empname)的数据集(在报表中)。

如何修改上述代码?谢谢

+0

试试这个'SELECT( 'NULL')AS Empname UNION SELECT Empname FROM EmpComp' –

+1

@JSantosh会给出相同的结果。请注意,NULL被选为字符串值,而不是NULL关键字。 – niksofteng

+1

哪种RDBMS适用于?请添加一个标签来指定您是使用'mysql','postgresql','sql-server','oracle'还是'db2' - 或者其他的东西。 –

回答

1

这工作:)想法是选择顶部的NULL关键字Empname,然后将值转换为字符串类型。

select case when Empname is null then 'NULL' else Empname end 
from 
(
    select null as Empname 
    union 
    select Empname from EmpComp 
) a 
+0

谢谢,这个存储过程连接到一个数据集(在报表中),它有一个参数(Empname)。执行上面的代码后,参数Empname被改为ID,这会导致报告错误。 存储过程必须返回一个是Empname的参数。 [在查询设计器中它正在工作(空值先显示,但在预览报告时显示错误) –