0

我正在尝试在 SSIS OLEDB Source 中实现这种功能。

1)统计异常表中的记录 2)如果有异常,将数据写入excel表 3)如果没有,写'No data available'

我为此编写了一个简单的查询,但得到错误 Msg 116, Level 16, State 1, Line 3 当子查询没有与 EXISTS 一起引入时,选择列表中只能指定一个表达式。

SELECT CASE WHEN (SELECT COUNT(*) FROM exceptionTable) > 0 THEN
(SELECT * FROM exceptionTable) ELSE 'No Error data available' end

我理解错误消息的内容并知道如何解决它,但我想不出这个问题的替代解决方案。任何帮助将不胜感激。谢谢。

4

1 回答 1

1

您应该能够使用 EXISTS 关键字来处理这个问题。这些方面的东西应该可以解决问题:

if exists(select * from exceptionTable)
    select * from exceptionTable
else 
    select 'No Error data available'

EXISTS 关键字指定一个子查询,可用于测试子查询返回的任何行是否存在。如果没有返回任何行,则计算结果为 false 并执行 ELSE 子句。

于 2012-11-17T04:36:21.890 回答