クエリのselectステートメントにある種のロジックを実装しようとしています。属性が指定されていない場合、またはinAttributeが「NONE」の場合にそうする必要があります。日付とすべての値(compprice、compspread、price、spread、run)を返します。
属性に値が指定されている場合は、要求された値を返すようにします(実行しようとしたcaseステートメントを参照してください)。
以下は私の試みですが、機能していません。何か助けてください?
SELECT
mi.date,
IF inAttribute = '' THEN
mi.compprice,
mi.compspread,
mi.price,
mi.spread,
mi.run
ELSE
CASE inAttribute
WHEN 'CP' THEN mi.compprice,
WHEN 'CS THEN mi.compspread,
WHEN 'MP' THEN mi.price,
WHEN 'MS' THEN mi.spread,
WHEN 'R' THEN mi.run
END
END IF
FROM userValueTable mi
WHERE mi.index_family = inIdxFamily
AND mi.index_id = inIdxId
AND mi.date_>= inStartDate
AND mi.date_<= inEndDate
ORDER by mi.date_ ASC;