conceptmgt
IS-IT--Management
Hi
I need help removing duplicates from a mySQL table. The sql statement below gives no errors but always comes back with the same records, so no duplicates are removed. The table has fields such as EmailAddress, EmailAddressID, EmailAddressActive, EmailClientID, EmailFirstName etc. So there could be two email addresses the same but the other fields could be different but I still want to remove the whole record.
I think it is something to do with part 2 of the sql statement.
Hope this makes sense.
Gary
strsql = "CREATE TABLE "&gotId&"emailaddresses ("
strsql = strsql + " EmailAddress longtext,"
strsql = strsql + " EmailAddressID INT(4),"
strsql = strsql + " EmailAddressActive tinyint(1),"
strsql = strsql + " EmailClientID INT(4),"
strsql = strsql + " EmailFirstName varchar(100),"
strsql = strsql + " EmailSurname varchar(100),"
strsql = strsql + " EmailMaster tinyint(1),"
strsql = strsql + " EmailList1 tinyint(1),"
strsql = strsql + " EmailList2 tinyint(1),"
strsql = strsql + " EmailList3 tinyint(1),"
strsql = strsql + " EmailList4 tinyint(1)"
strsql = strsql + " ) "
strsql2 = "INSERT INTO "&gotId&"emailaddresses "
strsql2 = strsql2 + " SELECT DISTINCT EmailAddress, EmailAddressID, EmailAddressActive, EmailClientID, EmailFirstName,"
strsql2 = strsql2 + " EmailSurname, EmailMaster, EmailList1, EmailList2, EmailList3, EmailList4"
strsql2 = strsql2 + " FROM EmailAddresses"
strsql3 = "DELETE FROM EmailAddresses"
strsql4 = "INSERT INTO emailaddresses "
strsql4 = strsql4 + " SELECT EmailAddressID, EmailAddress, EmailAddressActive, EmailClientID, EmailFirstName,"
strsql4 = strsql4 + " EmailSurname, EmailMaster, EmailList1, EmailList2, EmailList3, EmailList4"
strsql4 = strsql4 + " FROM "&gotId&"emailaddresses"
strsql5 = "DROP TABLE "&gotId&"emailaddresses"
Set RS = Conn.Execute(strsql)
Set RS = Conn.Execute(strsql2)
Set RS = Conn.Execute(strsql3)
Set RS = Conn.Execute(strsql4)
Set RS = Conn.Execute(strsql5)
I need help removing duplicates from a mySQL table. The sql statement below gives no errors but always comes back with the same records, so no duplicates are removed. The table has fields such as EmailAddress, EmailAddressID, EmailAddressActive, EmailClientID, EmailFirstName etc. So there could be two email addresses the same but the other fields could be different but I still want to remove the whole record.
I think it is something to do with part 2 of the sql statement.
Hope this makes sense.
Gary
strsql = "CREATE TABLE "&gotId&"emailaddresses ("
strsql = strsql + " EmailAddress longtext,"
strsql = strsql + " EmailAddressID INT(4),"
strsql = strsql + " EmailAddressActive tinyint(1),"
strsql = strsql + " EmailClientID INT(4),"
strsql = strsql + " EmailFirstName varchar(100),"
strsql = strsql + " EmailSurname varchar(100),"
strsql = strsql + " EmailMaster tinyint(1),"
strsql = strsql + " EmailList1 tinyint(1),"
strsql = strsql + " EmailList2 tinyint(1),"
strsql = strsql + " EmailList3 tinyint(1),"
strsql = strsql + " EmailList4 tinyint(1)"
strsql = strsql + " ) "
strsql2 = "INSERT INTO "&gotId&"emailaddresses "
strsql2 = strsql2 + " SELECT DISTINCT EmailAddress, EmailAddressID, EmailAddressActive, EmailClientID, EmailFirstName,"
strsql2 = strsql2 + " EmailSurname, EmailMaster, EmailList1, EmailList2, EmailList3, EmailList4"
strsql2 = strsql2 + " FROM EmailAddresses"
strsql3 = "DELETE FROM EmailAddresses"
strsql4 = "INSERT INTO emailaddresses "
strsql4 = strsql4 + " SELECT EmailAddressID, EmailAddress, EmailAddressActive, EmailClientID, EmailFirstName,"
strsql4 = strsql4 + " EmailSurname, EmailMaster, EmailList1, EmailList2, EmailList3, EmailList4"
strsql4 = strsql4 + " FROM "&gotId&"emailaddresses"
strsql5 = "DROP TABLE "&gotId&"emailaddresses"
Set RS = Conn.Execute(strsql)
Set RS = Conn.Execute(strsql2)
Set RS = Conn.Execute(strsql3)
Set RS = Conn.Execute(strsql4)
Set RS = Conn.Execute(strsql5)