私は顧客の統計データのソリューションを開発していますが、別のテーブル(顧客によって入力され、毎日変更される可能性があります)からの動的条件を使用して、いくつかの行from a table
(販売データ)を選択する必要があります。
また、カーソルを使用してさらに計算やその他の処理を実行する必要があるため、これがシナリオです。
DECLARE cRiga CURSOR LOCAL FAST_FORWARD FOR
-- here i will put the SELECT ...
OPEN cRiga
FETCH NEXT FROM cRiga INTO @field1, @field2, @field3, ...
WHILE @@FETCH_STATUS = 0
BEGIN
-- do some stuff here ...
FETCH NEXT FROM cRiga INTO @field1, @field2, @field3, ...
END
CLOSE cRiga
DEALLOCATE cRiga
これは、動的条件を見つけることができる条件テーブルです(列Completa = 0を参照)
IDIncentive CdMarca CdSettore CdGruppo Completa
----------- ------- --------- -------- -----------
1 COES NULL NULL 1
1 DELONG 10 0024 0 <
1 RHOSS NULL NULL 1
1 SILE 10 0012 0 <
1 SILE 11 0025 0 <
1 THERMI NULL NULL 1
....... more rows ...
より明確にするために、私は多くのクエリで必要なSQLを次のように分解しようとしています。
Select Field1, ... from SELLDATA
where IDIncentive=1 and CdMarca='DELONG' and CdSettore=10 and CdGruppo='0024'
UNION ALL
Select Field1, ... from SELLDATA
where IDIncentive=1 and CdMarca='SILE' and CdSettore=10 and CdGruppo='0012'
UNION ALL
Select Field1, ... from SELLDATA
where IDIncentive=1 and CdMarca='SILE' and CdSettore=11 and CdGruppo='0025'
あなたが想像できるように、私はそれをすることができません。なぜなら、条件は顧客によって毎日変わるので、私の質問は:
カーソルで使用するすべての条件(上記の例のように)を持つ選択を作成するにはどうすればよいですか?方法はありますか?
私を助けてくれる人に感謝し、この質問をより明確にするためにさらに情報が必要な場合はアドバイスしてください