存在ゲットすべての行:重複した値が、私はそうのようなテーブルを持っているいくつかの異なる列に
id first_name last_name address city_state_zip
-------------------------------------------------------------------
1 Bob Smith 123 Place Georgetown, TN 38119
2 Bob Smith 123 Place Georgetown, TN 38119
3 Bobby Smith 123 Place Georgetown, TN 38119
私は私が持っているすべての行を取得することができますクエリは、この例では、同じことを持って欲しいです名の最初の3文字と姓の最初の3文字と住所のすべての文字とcity/state/zipのすべての文字。これは私が持っているクエリですが、私はそれを実行したとき、私は、ゼロ行が返され得る:
SELECT
P1.id,
P1.first_name,
P1.last_name,
P1.address,
P1.city_state_zip
FROM person P1
JOIN (SELECT
id,
first_name,
last_name
FROM person
GROUP BY id,
first_name,
last_name,
address,
city_state_zip
HAVING (count(left(first_name, 3)) > 1
AND count(left(last_name, 3)) > 1
AND count(address + city_state_zip) > 1)) P2 ON P2.id = P1.id
は、正規化をご覧ください。これは災害のレシピです。 – Eric
「複製」のみを選択する派生テーブルがあります。 GROUP BYなど – jarlh
入力データの制約や殺されたデータの問題... – jarlh