0

select ステートメントの having 句で IF ELSE を実行できるようにする必要があります。これが私がやろうとしていることの抜粋です:

HAVING  
IF      @Vendor IS NOT NULL 
THEN    (COUNT(Iron_1.SN) > 0) AND [User].UserIdentifier = @Vendor AND Location_1.LocationName = @LocationName
ELSE

(COUNT(Iron_1.SN) > 0) AND Location_1.LocationName = @LocationName

ユーザーがクエリ パラメータの値を指定したかどうかに基づいて、特定のフィルタが必要です。

4

1 に答える 1

3

代わりにこれを試してください

HAVING COUNT(Iron_1.SN) > 0 AND Location_1.LocationName = @LocationName AND
        (@Vendor IS NULL OR (@Vendor IS NOT NULL AND [User].UserIdentifier = @Vendor))

またはこの少し単純なバージョン

HAVING COUNT(Iron_1.SN) > 0 AND Location_1.LocationName = @LocationName AND
        (@Vendor IS NULL OR [User].UserIdentifier = @Vendor)

2つを試して、あなたが一番好きでうまくいくものを選んでください

于 2013-06-13T16:03:30.827 に答える