私は連絡先テーブルに重複データを持っています。 Rank()関数の使用私は重複を識別しています。 子テーブルのアクティビティの連絡先のIDも更新する必要があります。親テーブルに重複がある子テーブルを更新
アクティビティテーブルの連絡先IDを、ランク1以上のランク1の連絡先IDで更新したいとします。重複する連絡先
(SELECT
ExternalContactID,
RANK() OVER (PARTITION BY ExternalAccountId, Name, Email, MailingCity,
MailingCountry, MailingState, MailingStreet, Phone ORDER BY
ExternalContactID) AS rank
FROM
contact)
表を見つけるために、このクエリを使用して
:
ExternalContactID | Rank
101 | 1
102 | 2
子テーブルにお問い合わせください:活動
ActivityID | ContactID
1 | 101
2 | 102
ランク> 1の連絡先を削除する前に、子テーブル「アクティビティ」をランク1の連絡先IDで更新する必要があります。
結果:102が削除され、ID = 2との活動の記録は今、あなたは、重複のグループと各グループの1を識別するために、RANKを使用しました連絡先ID = 101
こんにちは、ようこそ。あなたはビジネス上の必要性を定義しましたが、助けが必要なことは言いませんでした。テーブル定義といくつかのサンプルデータを投稿することができれば、大きな助けになるでしょう。ここから始めましょう。 http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –
ExternalContactID |ランク 101 | 1 102 | 2 – user3861542
それは役に立ちません、あなたはその質問に投稿しました。それでも意味をなさない。私があなたに送ったリンクを見てください。 –