次のようにDB2環境でとき、私は2ケースとの違いをやろうとしていますWHEN:DB2のSQL - CASEの差(マイナス)
select DISTINCT
TLORDER.BILL_NUMBER,
TLORDER.XCHARGES,
TLORDER.CHARGES,
TLORDER.DISTANCE,
TLORDER.CREATED_TIME,
TLORDER.DESTCITY,
(CASE WHEN ODRSTAT.STATUS = '5ARRCONS' THEN MAX(ORDSTAT.CHANGED)
END -
CASE WHEN ODRSTAT.STATUS = 'PICKD' THEN MIN(ODRSTAT.CHANGED)
END) AS DETENTION
FROM ODRSTAT
LEFT JOIN TLORDER ON ODRSTAT.ORDER_ID = TLORDER.DETAIL_LINE_ID
私は様々なオンラインを使用して、この概念のいくつかのバリエーションを試してみました同じ列を使用した場合の差異ではなく、合計に対する多くの回答が見つかりました。
目標は、Col. STATUSのステータスが '5arrcons'の場合、Col. Statusのステータスが最新の日付(picked)から(同じ列のCHANGED内) 'pickd'である場合に、最も古い日付 MAX = 2017年12月10日 分= 2017年12月1日
ので(だろう。この場合、CASE文から、希望の結果を
Key ORDER_ID STATUS CHANGED
1 10 5ARRCONS 12/10/2017
2 10 OTHER 12/10/2017
3 10 PICKD 12/5/2017
4 10 OTHER 12/3/2017
5 10 PICKD 12/1/2017
:
は、次のデータセットを考えてみましょう12/10/2017 - 12/1/2017)は 9返されたものが私が望むものです
何かすべての援助をいただければ幸いです。
お時間をいただきありがとうございます
あなたの質問を編集し、サンプルデータと希望する結果を提供してください。動作していないSQLコードは実際には意味をなさない。 –