我现在在做一个项目需要模糊查询而且是多张表之间的 sql语句怎么写查询的结果都不对。比如select * from a,b where a.id=b.id and a.name like '%张三%' or b.address like '%周边%'查询出来的数据很多事重复的 结果根本没法用。搞不懂网上到处都找不到相关的内容。一般都是连接查询 和模糊查询但是就是没有和在一起的内容。我急用希望大家帮个忙!

解决方案 »

  1.   

      select * from cmdteaminfo c,predictinfo p where c.goid=p.goid and c.zname like '%game%' or p.dangertype ='DIC102'结果如下:本来复合 DIC102的在表predictinfo 中只有两条,符合game的cmdteaminfo 也只有两条结果出来这个多条。
    ....
    9 CMD100003 CT100003 呵呵 安全 安全管理员 指挥官 管白薇 13032322141 45896325 陈彬 1 PRE100028 CT100003 嘎嘎 DIC102 和软件如 嘎嘎 55 金融街 呵呵 今天
    10 CMD100004 CT100004 陈彬5 安全 安全管理员 指挥官 管白薇 13032322141 45896325 陈彬 1 PRE100018 CT100000 agaga DIC102 faga gaga 55 gegega gegea gegae
    11 CMD100004 CT100004 陈彬5 安全 安全管理员 指挥官 管白薇 13032322141 45896325 陈彬 1 PRE100028 CT100003 嘎嘎 DIC102 和软件如 嘎嘎 55 金融街 呵呵 今天
    12 CMD100005 CT100005 涛 安全 安全管理员 指挥官 管白薇 13032322141 45896325 陈彬 1 PRE100018 CT100000 agaga DIC102 faga gaga 55 gegega gegea gegae
    13 CMD100005 CT100005 涛 安全 安全管理员 指挥官 管白薇 13032322141 45896325 陈彬 1 PRE100028 CT100003 嘎嘎 DIC102 和软件如 嘎嘎 55 金融街 呵呵 今天
    14 CMD100006 CT100006 gamehu 安全 安全管理员 指挥官 管白薇 13032322141 45896325 陈彬 1 PRE100018 CT100000 agaga DIC102 faga gaga 55 gegega gegea gegae
    15 CMD100006 CT100006 gamehu 安全 安全管理员 指挥官 管白薇 13032322141 45896325 陈彬 1 PRE100023 CT100006 agaga DIC104 faga gaga 55 gegega gegea gegae
    16 CMD100006 CT100006 gamehu 安全 安全管理员 指挥官 管白薇 13032322141 45896325 陈彬 1 PRE100028 CT100003 嘎嘎 DIC102 和软件如 嘎嘎 55 金融街 呵呵 今天
    17 CMD100007 CT100007 game1 安全 安全管理员 指挥官 管白薇 13032322141 45896325 陈彬 1 PRE100018 CT100000 agaga DIC102 faga gaga 55 gegega gegea gegae
    18 CMD100007 CT100007 game1 安全 安全管理员 指挥官 管白薇 13032322141 45896325 陈彬 1 PRE100024 CT100007 agaga DIC106 faga gaga 55 gegega gegea gegae
    19 CMD100007 CT100007 game1 安全 安全管理员 指挥官 管白薇 13032322141 45896325 陈彬 1 PRE100028 CT100003 嘎嘎 DIC102 和软件如 嘎嘎 55 金融街 呵呵 今天
    20 CMD100008 CT100008 陈彬9 安全 安全管理员 指挥官 管白薇 13032322141 45896325 陈彬 1 PRE100018 CT100000 agaga DIC102 faga gaga 55 gegega gegea gegae
    21 CMD100008 CT100008 陈彬9 安全 安全管理员 指挥官 管白薇 13032322141 45896325 陈彬 1 PRE100028 CT100003 嘎嘎 DIC102 和软件如 嘎嘎 55 金融街 呵呵 今天
    22 CMD100009 CT100009 陈彬10 安全 安全管理员 指挥官 管白薇 13032322141 45896325 陈彬 1 PRE100018 CT100000 agaga DIC102 faga gaga 55 gegega gegea gegae
    23 CMD100009 CT100009 陈彬10 安全 安全管理员 指挥官 管白薇 13032322141 45896325 陈彬 1 PRE100028 CT100003 嘎嘎 DIC102 和软件如 嘎嘎 55 金融街 呵呵 今天
      

  2.   


    select * from cmdteaminfo c,predictinfo p where c.goid=p.goid and c.zname like '%game%'
    union
    select * from cmdteaminfo c,predictinfo p where c.goid=p.goid and p.dangertype ='DIC102'
      

  3.   

    select distinct * from cmdteaminfo c,predictinfo p where c.goid=p.goid and c.zname like '%game%' or p.dangertype ='DIC102'
      

  4.   

    select * from cmdteaminfo c,predictinfo p where c.goid=p.goid and (c.zname like '%game%' or p.dangertype ='DIC102')
      

  5.   

    +1楼主原来的sql等价于下面的这个select * from a,b where (a.id=b.id and a.name like '%张三%') or b.address like '%周边%'