How to insert Distinct Records from Table A to Table B (both tables have same structure)

前端 未结 4 860
天涯浪人
天涯浪人 2021-01-05 15:25

I want to insert only Distinct Records from Table \"A\" to Table \"B\". Assume both the tables has same structure.

相关标签:
4条回答
  • 2021-01-05 15:42
    INSERT INTO TableB
        (Col1, Col2, ...)
        SELECT DISTINCT Col1, Col2, ...
            FROM TableA
    
    0 讨论(0)
  • 2021-01-05 15:53
    INSERT INTO B SELECT DISTINCT * FROM A
    

    You might not want the id column of the table to be part of the distinct check, so use this solution if that's the case: https://stackoverflow.com/a/5171345/453673

    0 讨论(0)
  • 2021-01-05 15:55
        INSERT INTO TableB
                SELECT *
                FROM TableA AS A
                WHERE NOT EXISTS(SELECT * FROM TableB AS B WHERE B.Field1 = A.Field1) 
    -- If need: B.Field2 = A.Field2 and B.Field3 = A.Field3
    
    0 讨论(0)
  • 2021-01-05 15:57

    If by DISTINCT you mean unique records that are on TableB that aren't already in TableA, then do the following:

    INSERT INTO TableB(Col1, Col2, Col3, ... , Coln)
    SELECT DISTINCT A.Col1, A.Col2, A.Col3, ... , A.Coln
    FROM TableA A
    LEFT JOIN TableB B
    ON A.KeyOfTableA = B.KeyOfTableB
    WHERE B.KeyOfTableB IS NULL
    
    0 讨论(0)
提交回复
热议问题