0

以下のクエリで 2 つのケースを使用して、daction と ApprovalType の結果を取得します。Oracle SQL で以下のクエリを実行すると、daction 列と ApprovalType 列のそれぞれに daction_1 と ApprovalType _1 として 2 つの新しい一時列が作成されます。今、IDOC コードでこれらのキーワードを使用したいのですが、一時列が作成されているため、それらを使用できません。これを解決するには?

SELECT WH.dActionDate,
  WH.xWF_SendTo,
  WH.dAction,
  ATY.ApprovalType,
  WH.xWorkflowComments,
  CASE
    WHEN NVL(ApprovalType,'') IS NULL
    THEN xPurposeForRejection
    ELSE ApprovalType
  END AS ApprovalType,
  CASE
    WHEN NVL(dAction,'')      ='SendTo'
    AND NVL(ApprovalType,'') IS NOT NULL
    OR NVL(dAction,'')        ='Approve'
    THEN 'Approve'
    ELSE 'Reject'
  END AS dAction
FROM WorkflowHistory WH,
  Reason Re,
  ApprovalType ATY
WHERE UPPER(dDocName)     = UPPER('D_1239178')
AND xPurposeForSubmission = Re.ReasonID(+)
AND xDocApproval          = ATY.ApprovalTypeID(+)
AND (dAction             IN('Reject','Approve')
OR (dAction               ='SendTo'
AND ApprovalType         IS NOT NULL))
AND ROWNUM               <= 5
ORDER BY dActionDate DESC,
  dActionMillis
4

1 に答える 1