1

こんにちはすべて私は条件に基づいてIN句を使用しようとしています。2つの別々のSQLステートメントは必要なく、インラインソリューションを望んでいました。文字列が空白の場合はINクエリを適用しないでください。ただし、空白でない場合は使用してください。私はIFステートメントを実行できることを知っていますが、それはにおいがしますが、それを実行する別の方法がわからないと思いますか?グーグルで調べてみると、INはcaseキーワードをサポートしていないことがわかりました...

よろしくお願いします、オナム。

declare @PartStockID nvarchar(50)
set @PartStockID = '32919,40335'

select top 10 * from PMS_PartStock
where 
(@PartStockID != '' AND PartStockID in (SELECT ID FROM dbo.Split_List_Int(@PartStockID)) OR PMS_PartStock.PartStockID = PMS_PartStock.PartStockID )
4

1 に答える 1

2

に変更ANDしますOR!==

where 
(@PartStockID = '' OR PartStockID in (SELECT ID FROM dbo.Split_List_Int(@PartStockID)) OR PMS_PartStock.PartStockID = PMS_PartStock.PartStockID )
于 2012-11-27T10:20:29.427 に答える