私は2つのテーブルを持っています:
A:
id code
1 A1
2 A1
3 B1
4 B1
5 C1
6 C1
=====================
B:
id Aid
1 1
2 4
( へのリンクB
は含まれていません)Aid
code C1
全体的な流れを説明しましょう: の
各行にtable A
異なるコードを持たせたい (重複を削除することにより)、 でAid
見つけたものを保持しtable B
たい.
だから私は以下のように何かをすることはできません:Aid
table B
DELETE FROM A
WHERE id NOT IN (SELECT MAX(id)
FROM A
GROUP BY code,
)
以下のSQLステートメントで各 duplicate_code_groups を取得できます。
SELECT code
FROM A
GROUP BY code
HAVING COUNT(*) > 1
SQLのようなコードはありますか
for (var ids in duplicate_code_groups){
for (var id in ids) {
if (id in B){
return id
}
}
return max(ids)
}
戻りIDをidtable
??に入れます SQLでそのようなコードを書く方法がわかりません。
それから私はすることができます
DELETE FROM A
WHERE id NOT IN idtable