簡體   English   中英

如何在DB2中使用具有不同拼寫的IN條件查詢多條記錄

[英]How to use search multiple record for IN condition with different spellings in DB2

我在了解SQL方面沒有什么進步。 現在我有一個問題,希望您能幫助我。

我想在一個表上進行選擇,該表向我顯示了多次可用(不同拼寫)的所有記錄,例如:abcd123 AND ABCD123 AND ABcd123 ...

db2 "select * from table where row in (select row from table GROUP BY row HAVING (COUNT(row) > 1)) order by row"

例如:

db2 "select * from table where surname in (select surname from table GROUP BY surname HAVING (COUNT(surname) > 1)) order by surname"

上面的代碼向我顯示了可以用相同的拼寫(例如SMITH AND SMITH AND SMITH)多次獲得的記錄,但不能以不同的拼寫(例如SMITH AND Smith和Smith和Smith和Smith和Smith)獲得

請幫我。 (我無法加入JOINS。實際上不是我所知)

感謝幫助。

如果您唯一關心的是大寫字母,請使用lower()upper()

select t.*
from table
where lower(t.surname) in (select lower(t2.surname)
                           from table t2
                           group by lower(surname) 
                           having count(*) > 1
                          )
order by surname;

如果您擔心其他潛在的拼寫錯誤,那么問題就很復雜了。

嘗試將UPPER()函數添加到比較中

select * from table
where UPPER(surname) in (
   select   UPPER(surname) from table
   GROUP BY UPPER(surname)
   HAVING (COUNT(*) > 1)
) order by surname

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM