-1

以下の case ステートメントで Missing keyword エラーが発生する理由がわかりません。

WHERE tb.BOOKED_DATE = TO_DATE($P{pFromDate}, 'dd/MM/yyyy')
AND (case when $P{pTxnStatusId} = '11' then pg.RESPONSE_CODE is Not Null else pg.RESPONSE_CODE = $P{pTxnStatusId} end)

任意の提案をいただければ幸いです。

ありがとう

4

1 に答える 1

1

ここで必要なのは case ステートメントではないと思います。where ステートメントにロジックを適用しようとしているようです。AND と OR に変換して、代わりにこれを試してください。

WHERE tb.BOOKED_DATE = TO_DATE($P{pFromDate}, 'dd/MM/yyyy')
AND (($P{pTxnStatusId} = '11') OR ($P{pTxnStatusId} = '0' AND pg.RESPONSE_CODE = 0))
于 2013-03-18T11:22:43.413 に答える