SQLスクリプトの先頭に変数を設定してから、その変数を他の多くの場所で呼び出して単純なものにします。変数にデータがある場合、SQLにwhere句に条件を追加します
私は条件付きのwhere節を追加してANDステートメントを追加したいが、@test_patientフィールドにデータがある場合のみ追加したい。
declare @from_date date
set @from_date = '2017-01-01 00:00:01'
declare @to_date date
set @to_date = '2017-12-31 00:00:01'
declare @test_patients NVARCHAR(MAX)
set @test_patients = ('123','234')
select * from table
where
date between @from_date and @to_date
AND other things
AND other things...
...そして、ここでは、私は助けが必要な部分です...
IF @test_patients IS NOT NULL
Add this-> and p.PatientId in @test_patients
ELSE nothing... move along...
私は特に、私はそれがしたいいくつかのテスト患者に入れない限り、基本的には、コードは、すべての患者をつかむだろう見つける。私の変数にテスト患者を投入しないと、特定の患者を探すことは望ましくありません。あなたがこれを行うことができます
私は 'ダイナミックSQL' – Sami
を提案しますI NVARCHAR(MAX)が配列を作成する正しい方法であるかもわかりません。誰でも知っていますか? – Frantumn