2017-11-07 27 views
-1

詳細質問を削除私の次の質問です - リンクの下にチェックしてくださいメインフレームのCOBOL DB2はプログラム

DB2/Cursor program working in cobol

+0

あなたはランダムなインターネットの見知らぬ人の代わりに彼らが望むものを求めているはずです。 – SaggingRufus

+0

@SaggingRufus貴重な提案のためによく感謝します。それは全く私に起こりませんでした! – user8898467

+2

ようこそstackoverflow.com [ヘルプページ](https://stackoverflow.com/help)、特に[ここではどのトピックを聞くことができますか](https://stackoverflow.com/help/)のセクションを読んでください。 「どのような種類の質問を避けるべきですか?」](https://stackoverflow.com/help/dont-ask)を参照してください。また、[ツアー](https://stackoverflow.com/tour)をご覧になり、[良い質問をする方法](https://stackoverflow.com/help/how-to-ask)をお読みください。最後に[最小限の、完全で検証可能な例](https://stackoverflow.com/help/mcve)の作成方法を学んでください。 – cschneid

答えて

0

これは、2段階のプロセスである必要があります。まず、削除するレコードを特定し、2番目のステップでそれらのレコードを削除します。私は、あなたがフェッチしている同じテーブルからレコードを削除することはできないでしょう、その理由は2つのステップだと思います。

ステップ1:

Select Concat(A.ClientId, A.PhoneNumber, A.Timestamp) from MyTable A 
Where Concat(A.ClientId, A.PhoneNumber, A.Timestamp) 
Not IN (Select Concat(B.ClientId, B.PhoneNumber, Min(B.Timestamp)) 
    from MyTable B 
    Group by B.ClientId, B.PhoneNumber); 

ステップ2:

Delete from MyTable 
Where Concat(A.ClientId, A.PhoneNumber, A.Timestamp) IN (all the values you got from Step1); 

あなたが実行している場合は、ステップ1で実行されるすべての値を取得し、ステップ2でそのデータセットを使用するためのデータセットを作成することができます動的であれば切り取ったペーストが行います。そうでなければ、SORTを使用してデータセットを変更して、そこからクエリを作成する必要があります。それはステップ1と2の中間の別のステップになります。

+0

テーブルから行を削除する前に、上記の質問に追加してください。テープファイルにバックアップして、どのようなレコードがいくつ削除されるかなどのレポートを作成する必要がありますか? – user8898467

+0

以下は私の論理です、誰かが私にこのことがうまくいくと教えてください。
user8898467

関連する問題