かなめのロジック

フリーSEの雑記ブログ。ORACLEやPostgreSQL、情報セキュリティ、金融について主に書いています。

自己結合の使用例2(同一項目での結合)

time 2016/10/28

自己結合の使用例2(同一項目での結合)

自己結合の使用例を2部構成で紹介しています。

本記事では、第2部として同テーブルの同一項目での自己結合の使用例を紹介します。

sponsored link

同一項目での自己結合の使用例

同テーブルの同一項目での自己結合での使用例は、重複データの抽出や削除です。

具体的には、あるテーブルにデータが重複しているデータがあることが分かった場合に、対象のデータを抽出して確認したり、不要な方のデータを削除したりする場合です。

受注テーブルを例に自己結合を考える

以下のような受注テーブルを例に考えてみます。

重複データの抽出

重複しているデータを抽出する場合を考えてみます。

得意先ID+伝票番号で重複しているデータを出力します。

得意先ID+伝票番号で集約し、件数が2件以上のデータを抽出する方法も考えられます。
しかし、その方法では対象の得意先ID+伝票番号の一覧になってしまい、対象のレコード全体を出力するためにはもうひと手間が必要になります。

重複データの削除

重複しているデータを削除する場合を考えてみます。

得意先ID+伝票番号で重複しているデータを削除します。ただし、登録日が最新のデータを優先して残すようにします(登録日も同一の場合はいずれかを削除)。

関連

sponsored link

管理人

かなめ

フリーの業務系システムエンジニア。情報処理安全確保支援士。 ORACLEと金融と子育ての狭間で、元気に楽しくやってます。 [詳細]

管理人twitter

ブログ村



sponsored link