Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Table Company(
- CompanyId NVarChar(10) Not Null Constraint PK_Locations Primary Key,
- CompanyName NVarChar(30),
- CompanyAddress NVarChar(30),
- CompanyCity NVarchar(30),
- CompanyState Char(2),
- CompanyZip NVarChar(10),
- DateCreated DateTime,
- LastModified DateTime,
- LastModifiedUser NVarChar(64)
- )
- WITH q AS (
- SELECT Company.*,
- ROW_NUMBER() OVER (PARTITION BY CompanyState, CompanyCity, CompanyName ORDER BY CompanyID) AS rnName,
- ROW_NUMBER() OVER (PARTITION BY CompanyState, CompanyCity, CompanyAddress ORDER BY CompanyID) AS rnAddress
- FROM Company
- )
- SELECT *
- WHERE rnName > 1 OR rnAddress > 1
- CompanyID CompanyName CompanyAddress
- --------- ----------- --------------
- 1 McDonalds Avenue 1
- 2 McDonalds Avenue 2
- 3 Starbucks Avenue 2
- SELECT *
- FROM Company co
- WHERE EXISTS
- (
- SELECT 1
- FROM Company cn
- WHERE cn.CompanyState = co.CompanyState
- AND cn.CompanyCity = co.CompanyCity
- AND cn.CompanyName = co.CompanyName
- AND cn.CompanyID <> co.CompanyID
- )
- OR EXISTS
- (
- SELECT 1
- FROM Company ca
- WHERE ca.CompanyState = co.CompanyState
- AND ca.CompanyCity = co.CompanyCity
- AND ca.CompanyAddress = co.CompanyAddress
- AND ca.CompanyID <> co.CompanyID
- )
- SELECT
- C1.CompanyID,
- C2.CompanyID
- FROM
- Company C1
- INNER JOIN Company C2 ON
- (C2.CompanyName = C1.CompanyName OR C2.CompanyAddress = C1.CompanyAddress) AND
- C2.CompanyCity = C1.CompanyCity AND
- C2.CompanyState = C2.CompanyState AND
- C2.CompanyID > C1.CompanyID
- Select field1, field2, ... etc, count(*)
- FROM Company,
- GROUP BY field1, field2, ...
- HAVING count(*) > 1
Add Comment
Please, Sign In to add comment