SQL Remove almost duplicate rows

前端 未结 4 1295
伪装坚强ぢ
伪装坚强ぢ 2020-12-30 16:39

I have a table that contains unfortuantely bad data and I\'m trying to filter some out. I am sure that the LName, FName combonation is unique since the data set is small en

4条回答
  •  再見小時候
    2020-12-30 17:02

    This drops the null rows if there are any non null values.

    SELECT  lname
            , fname
            , MIN(email)
    FROM    YourTable
    GROUP BY
            lname
            , fname
    

    Test script

    DECLARE @Test TABLE (
      LName VARCHAR(32)
      , FName VARCHAR(32)
      , Email VARCHAR(32)
    )
    
    INSERT INTO @Test
      SELECT 'Smith', 'Bob', 'bsmith@example.com'
      UNION ALL SELECT 'Smith', 'Bob', 'NULL'
      UNION ALL SELECT 'Doe', 'Jane', 'NULL'
      UNION ALL SELECT 'White', 'Don', 'dwhite@example.com'
    
    SELECT  lname
            , fname
            , MIN(Email)        
    FROM    @Test
    GROUP BY
            lname
            , fname
    

提交回复
热议问题