1
Oracle SQLを学習しています。Oracle SQL - 同じ行の値間の差分を取得する方法、一意のIDなし
特定の製品の購入/返品の各取引間の時間を決定する必要があります。
データのサンプルを以下に示します。ただし、購入と返品を結ぶ一意の取引識別子はありませんが、購入直後の返品(トランザクション時間に基づく)は同じ取引であると仮定できます。
この問題を解決する方法を教えてください。サンプルのSQLステートメントは非常に高く評価されます。
Product TransactionType TransactionTime
A PURCHASE 18-Aug-17 10.15.56.000000 AM
A RETURN 18-Aug-17 10.30.21.000000 AM
A PURCHASE 18-Aug-17 11.10.35.000000 AM
A RETURN 18-Aug-17 11.12.52.000000 AM
B PURCHASE 18-Aug-17 10.15.56.000000 AM
B RETURN 18-Aug-17 10.22.56.000000 AM
B PURCHASE 18-Aug-17 10.30.21.000000 AM
B RETURN 18-Aug-17 10.31.21.000000 AM
あなたにも予想される出力を表示することができますか? –
問題が単純すぎる可能性があります。購入されたすべての商品が必ず返品されるとは限りません。したがって、表はproduct = Aおよびtype = PURCHASEの50行、product = Aおよびtype = RETURNの3行しか持たないはずです。おそらく、それぞれのRETURNについて、対応するPURCHASEがその直前のものであると仮定することができます。 (これは、RETURNを含む連続した行が存在しないことも前提としています。これは実際の生活では簡単に起こります)なぜトランザクションにトランザクションIDがないのですか? – mathguy