0

私はSSISOLEDBソースでこの種の何かを達成しようとしています。

1)例外テーブルのレコードをカウントします。2)例外がある場合は、Excelシートにデータを書き込みます。3)そうでない場合は、「データがありません」と書き込みます。

これを行うための簡単なクエリを作成しましたが、エラー メッセージ116、レベル16、状態1、行3が発生します。サブクエリがEXISTSで導入されていない場合、選択リストで指定できる式は1つだけです。

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 に答える