[pgsql-jp: 31514] Re: PostgreSQL v.s. Access
SAKATA Tetsuo
sakata.tetsuo @ lab.ntt.co.jp
2003年 11月 19日 (水) 15:40:09 JST
こんにちは。坂田@横須賀です。
Toshi wrote:
> 実は,元のデータベース設計と管理が悪く,バックアップと削除のため
> のキーが一つではなく,二つです.その上,削除されるテーブルに
> 重複登録があるため,
>
> SELECT [t1].[f1], [t1].[f2], [t1].[f3], [t1].[f4], [t1].[f5],\
> [t1].[f6], [t1].[f7], [t1].[f8] FROM t2, t1\
> WHERE [t1].[f2]=[t2].[f2] And [t1].[f5]=[t2].[f3];
>
> なるSQL 文を実行すると,テーブルt2に24,722件しかないのに,25,115件
> ヒットします.すなわち,削除すべきデータより,多いデータを削除
> してしまいます.
SQL「で」の処理の仕方については、既に中川さんがお書きになっていますね。
この時点で考慮すべきは、
・もともとの設計で2つのカラムでの同一値を持つケースを故意に
許しているのか?
・そうだとしたら、それは何のためか?
・t2側にも出現する行がt1に複数ある場合、
「どれ」を削除すべきなのか?
を明らかにすべきでしょうね。
--
坂田 哲夫@NTT サイバースペース研究所
sakata.tetsuo_at_lab.ntt.co.jp
SAKATA, Tetsuo. Yokosuka JAPAN.
pgsql-jp メーリングリストの案内