0

一連の AND ステートメントを含むクエリがあります。変数を設定するときに、特定の AND ステートメントを使用したいと考えています。しかし、それが空または NULL の場合、そのステートメントは必要ありません。私はIFとCASEでいくつかのものを見つけましたが、それを成し遂げることができません:(

私はこのようなものが欲しい

SELECT *
FROM table
WHERE [Statement1]

IF @Location IS NOT NULL OR <> ''
BEGIN
    AND [SBC Live 2$Sales Shipment Line].[Location _ Sector No_] = @Location
END

多分誰かが私を助けることができますか?

よろしくお願いします!

4

1 に答える 1

1

これはあなたのために働くはずです:

SELECT *
FROM table
WHERE [Statement1] AND (ISNULL(@Location,'') = '' OR [SBC Live 2$Sales Shipment Line].[Location _ Sector No_] = @Location)

したがって、最終的には、@Location が null/空白であるか、[SBC Live 2$Sales Shipment Line].[Location _ Sector No_] と一致します。

注: 疑似コードでは、IF チェックに OR がありますが、以前に書いたことに基づいて、AND を探していると思います。

于 2013-04-23T13:22:18.587 に答える