質問 |
||
| QNo.3315165 | 重複レコードの削除 | |
|---|---|---|
| 質問者:moroderman |
あるテーブル(ここではTESTというテーブルとします)の重複レコードを削除したいので、以下のようなストアド・プロシージャを作成しました。 SELET DISTINCT * INTO TEST2 FROM TEST DELETE FROM TEST SELECT * INTO TEST FROM TEST2 DROP TABLE TEST2 開発終了後、システムの都合上、テーブルの追加はできないことが発覚し、TESTテーブル上で重複レコードを削除しなくてはならなくなりました。 カーソル等を利用すれば重複削除できると思いますが、ほかにシンプルな方法で重複レコードを削除する方法はありませんか? |
|
困り度:
|
||
| 質問投稿日時: 07/09/04 18:25 |
||
回答良回答20pt |
|
| ANo.2 | テンポラリーテーブルを作る方法でできませんか? ストアドプロシージャ内でTEST2に該当するテーブルを造ります。 Create Table #TEST2 (以下略 というように頭に「#」をつけてください。 以降このテンポラリーテーブルを使えば、同じ手順でできると思います。 |
|---|---|
| 回答者:Kuppycat | |
| 種類:アドバイス どんな人:経験者 自信:参考意見 |
|
| 回答日時: 07/09/05 12:28 |
|
| |
| この回答へのお礼 | 教えて頂いた方法で解決できました。ありがとうございました。 |
回答良回答10pt |
|
| ANo.1 | SQL Serverは2000ですか?2005ですか? 表の構成列は、何個くらいありますか? すべての列の値が重複した行が、複数存在するのですよね? |
|---|---|
| 回答者:chukenkenkou | |
| 種類:補足要求 どんな人:一般人 自信:参考意見 |
|
| 回答日時: 07/09/04 19:34 |
|
| |
| この回答への補足 | 大変失礼いたしました。 SQL Server のバージョンは2000です。 列は10つしかありませんがし、 重複レコードは数件ですが、 全レコード数は10万件以上あります。 重複レコードは、すべての列が重複しています。 従ってSELECT DISTINCT * FROM TESTとするだけで 重複で排除できます。 宜しくお願い致します。 |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |