我想編寫一個SQL查詢,該查詢爲所有用戶提供user_id,last_name和Social_security_number,這些用戶的另一個用戶具有相同的姓氏和相同的RIGHT最後四個SSN。所以如果一個人擁有完整的SSN,而另一個只有最後四個,我只想匹配最後四個。如何編寫查詢以獲取所有用戶超過1條記錄?如何根據SSN得到重複記錄
1
A
回答
0
SELECT orig.user_id, orig.last_name, orig.Social_security_number,
dupe.user_id, dupe.last_name, dupe.Social_Security_number
FROM yourtable AS orig
INNER JOIN yourtable AS dupe ON
(orig.last_name=dupe.last_name) AND
(RIGHT(orig.Social_Security_number, 4) = RIGHT(dupe.Social_Security_Number, 4)) AND
(orig.user_id <> dupe.user_id)
基本上做什麼表格你在存儲這個加盟的最後名稱字段,最後4位數字的SSN,以及一個邊緣的情況下自聯接:因爲你自己的加盟,每個記錄都會在「dupe」表中匹配,因此明確排除了假匹配。
0
這個查詢到,假設SSN存儲爲一個字符串:
SELECT
u1.user_id, u1.last_name, u1.social_security_number
FROM
users u1
WHERE
EXISTS (
SELECT
*
FROM
users u2
WHERE
u1.user_id <> u2.user_id
AND u1.last_name = u2.last_name
AND SUBSTRING(u1.social_security_number, -4) = SUBSTRING(u2.social_security_number, -4)
)
相關問題
- 1. 根據日期重複記錄 - 導軌
- 2. 根據重複記錄的列更新記錄的列
- 3. SQL根據重複記錄選擇最新記錄
- 4. 如何根據BigQuery中的特定列去重複記錄?
- 5. 如何不重複記錄到ormlite
- 6. 如何找到重複記錄的PostgreSQL
- 7. 如何找到不重複的記錄
- 8. MySQL查詢得到相應的數據重複記錄
- 9. 根據日期獲得記錄
- 10. 如何根據Java EE中的數據庫記錄重寫URL
- 11. 重複記錄
- 12. 重複記錄
- 13. 重複記錄
- 14. 重複記錄
- 15. 在記錄中獲得重複值
- 16. 僅需要在組合查詢中僅返回SSN的重複記錄
- 17. 在HL7消息中驗證SSN是否有重複的SSN
- 18. 根據一對列刪除重複記錄?
- 19. 根據街道地址或IP地址識別重複記錄?
- 20. 根據SQL中的一個值返回重複記錄
- 21. Rails + PostgreSQL,根據rails驗證規則創建重複記錄
- 22. 根據一些編碼查詢消除重複記錄
- 23. MYSQL查詢根據名字和姓氏查找重複記錄
- 24. 根據單個列中的重複值返回記錄(多列)
- 25. SQL:根據自定義標準查找重複記錄
- 26. 根據表2中的重複項更新記錄
- 27. 根據標準僅顯示重複記錄
- 28. 根據時間更新刪除重複記錄
- 29. 根據另一列的值插入重複記錄
- 30. 根據兩個字段查找重複記錄
感謝。我不知道爲什麼。記錄返回了一些與需求相匹配的用戶標識。無論是姓氏還是SSN的最後四位數字 –