2017-12-18 12 views
1

私はTable1に列A、Bを持つ& C. ColumnA、Table1(ユニーク)の値のプライマリキーを作成し、列Aの一意の値に基づいて、Table1から値BおよびCを移入します。別のテーブルの一意の値に基づいて値を挿入する(正規化)

ご協力いただければ幸いです。 EDIT:SQLサーバーを使用していて、INSERT INTO ... SELECT DISTINCTを使用しようとしました。

+0

読むhttps://meta.stackoverflow.com/questions/349789/how-do-i-create-a-minimal-complete-verifiableをお試しください-example –

+0

MySQLまたはMS SQL Serverを使用していますか?関与していない製品にはタグを付けないでください。 – jarlh

答えて

0

あなたがMS SQL Serverを使用している場合は、この

WITH CTE 
AS 
(
    SELECT 
     RN = ROW_NUMBER() OVER(PARTITION BY ColumnA ORDER BY ColumnA), 
     ColumnA, 
     ColumnB, 
     ColumnC 
     FROM YourTable 
) 
INSERT INTO Table2 
(
    ColumnA, 
    ColumnB, 
    ColumnC 
) 
SELECT 
    ColumnA, 
    ColumnB, 
    ColumnC 
    FROM CTE 
     WHERE RN = 1 
+0

ありがとうございますが、エラーが発生します。メッセージ156、レベル15、状態1、行136 キーワード 'ORDER'の近くの構文が正しくありません – KAT

+0

使用している正確なクエリは何ですか? –

+0

提案したのと同じクエリを使用しました。 3 – KAT

関連する問題