使用like条件选择命令

时间:2014-03-14 13:07:27

标签: sql select sql-like

如何通过从另一个表传递列来使用类似条件的select语句?

我的查询

SELECT count(1)
FROM COMPANYNAME_RESTRICT_LIST a,itaukei_data_store_key b 
WHERE 
   b.surname LIKE a.company_name%  OR 
   b.surname LIKE %a.company_name% OR
   b.surname LIKE %a.company_name% OR
   b.surname LIKE a.company_name%;

3 个答案:

答案 0 :(得分:0)

连接:+'%'

SELECT 
  count(1) 
FROM 
  COMPANYNAME_RESTRICT_LIST a,
  itaukei_data_store_key b 
WHERE       
  b.surname LIKE '%'+a.company_name+'%'

答案 1 :(得分:0)

标准SQL函数是concat()

SELECT count(1)
FROM COMPANYNAME_RESTRICT_LIST a join
     itaukei_data_store_key b 
     on b.surname like concat('%', a.company_name, '%')

并非所有数据库都支持concat()。因此,以下之一通常也会起作用:

     on b.surname like '%' || a.company_name || '%'
     on b.surname like '%' + a.company_name + '%'
     on b.surname like '%' & a.company_name & '%'

答案 2 :(得分:0)

这很好。

SELECT * 
FROM COMPANYNAME_RESTRICT_LIST a,itaukei_data_store_key b 
WHERE b.surname LIKE '%'||a.company_name||'%' or 
    b.surname LIKE '%'||a.company_name or 
    b.surname LIKE a.company_name||'%' or 
    b.surname LIKE a.company_name;