现在我有这样的一张表:tbl_sheet_content_field,该表中存放数据如下图:、一个GZ2011041100049就有这么几条,可能还有GZ2011041100050、GZ2011041100051等;
现在处于业务上的要求,需要查询这样的数据,条件必须满足:field_code like'complainTarget%'、field_code like'anlyProductType%'、field_value='H1_03_070303'、t.field_value='4'查询出满足上述四个条件的所有数据,注意四个条件必须同事满足,小弟在线等答案。

解决方案 »

  1.   

    图片展示如下:
              FIELD_ID                                  SHEET_NO         FILED_CODE 
    1 8a7488ac2f3fe602012f4239e57d0bb6 GZ2011041100049 complainTarget_0
             FILED_VALUE    INDEX_ID
    H1_03_070303 4
    2 8a7488ac2f3fe602012f4239e57d0bb7 GZ2011041100049 productCategory H1_02_01020102 5
    3 8a7488ac2f3fe602012f4239e57d0bb8 GZ2011041100049 anlyProductType_0 4 23
    4 8a7488ac2f3fe602012f4239e57d0bb9 GZ2011041100049 anlyBusinessType_0 4 24
      

  2.   

    什么意思?
    select * 
    from tbl_sheet_content_field
    where field_code like 'complainTarget%' and field_code like 'anlyProductType%' and  
          field_value='H1_03_070303' and t.field_value='4'
      

  3.   

    http://hi.csdn.net/space-9034140-do-album-picid-1091545.html
    进入这个URL里面有一张图片,是关于现在表中的数据截图,大致如下:
     FIELD_ID ---------------------------SHEET_NO------------ FILED_CODE  
    8a7488ac2f3fe602012f4239e57d0bb6---- GZ2011041100049---- complainTarget_0
    FILED_VALUE------INDEX_IDH1_03_070303----- 4
    8a7488ac2f3fe602012f4239e57d0bb7---- GZ2011041100049---- productCategory H1_02_01020102--- 5
    8a7488ac2f3fe602012f4239e57d0bb8---- GZ2011041100049---- anlyProductType_0
    4---------------- 23
    8a7488ac2f3fe602012f4239e57d0bb9---- GZ2011041100049---- anlyBusinessType_0
    4---------------- 24红色字体为字段名  下面的为数据,现在我需要查询出的数据需满足如下条件:
    field_code like'complainTarget%'  和 field_value='H1_03_070303' 为一个条件
    t.field_code like'anlyProductType%' 和 field_value='4' 又是一个条件且这四个条件必须同时满足,苦恼啊!
      

  4.   

    是同一个表,二楼的数据只是满足其中一个条件,用的是OR,我现在要的数据是必须满足所有的条件,满足其中一个条件的数据不是我要的。

    field_code like'complainTarget%' 和 field_value='H1_03_070303' 为一个条件
    t.field_code like'anlyProductType%' 和 field_value='4' 又是一个条件且这四个条件必须同时满足
      

  5.   

     field_value='H1_03_070303' 和 field_value='4' 这2个条件是互斥的,怎么同时满足,楼主再描述清楚些。
      

  6.   

    恩恩,就是因为这个互斥,所以难点就在这里,field_value='H1_03_070303' 和 field_value='4' 就是需要同事满足。
      

  7.   

    是这样么?
    select * 
    from tbl_sheet_content_field
    where (field_code like 'complainTarget%' and field_code like 'anlyProductType%') or
          (field_value='H1_03_070303' and t.field_value='4')
      

  8.   

    或者这样select * 
    from tbl_sheet_content_field
    where field_code like 'complainTarget%' and field_value='H1_03_070303' and
          (field_code like 'anlyProductType%' or t.field_value='4')
      

  9.   

    晕了  错了 应该是这样了select * 
    from tbl_sheet_content_field
    where (field_code like 'complainTarget%' or field_code like 'anlyProductType%') and
          (field_value='H1_03_070303' or t.field_value='4')
      

  10.   

    个人理解
    (field_code like 'complainTarget%' or field_code like 'anlyProductType%' )
    and (field_value='H1_03_070303' or t.field_value='4')
      

  11.   

    谢谢你们哈!根据你们的提示,我写了改了一下,实现了SQL如下:select  distinct c.sheet_flow_no
              from tbl_main_sheet m,
           tbl_sheet_content_field c
             where m.main_sheet_flow_no = c.sheet_flow_no
                    and ( c.field_Code like 'complainTarget%' or
                    c.field_Code like 'anlyProductType%')
               and (c.field_Value in ('H1_03_070303') or
                   c.field_Value = '4')
            group by c.sheet_flow_no
            having count(*) > 1