SELECT
  jgm,wdmc,
 SUM(IF(ywid='01',ddrs,-1)) AS ywbh1,
SUM( IF(ywid='02',ddrs,-1)) AS ywbh2,
 SUM(IF(ywid='03',ddrs,-1)) AS ywbh3
  FROM  view_wd_ywxx_ddrs  where  length(ywid)>0
  GROUP BY  jgm,wdmc

解决方案 »


  1. 直接要的是 表 字段 "ddrs"的具体值 ,如果使用sum 函数的话,与预期的结果不一致啊 。预期结果 :
      

  2. 申店与杜曲  ywbh2 值为 -1,写错了 见谅 !
      

  3. 假设ywid='02',ddrs的值有1、5,取哪个值?什么标准?
      


  4. 那怎么让它同时可以判定 ywid='01'   与 ywid='02' ,那应该怎么修改 ?求指点 
      

  5. 能否 将 jgm 属性 也添加到条件中去,应该怎么添加 ?
      

  6.    建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
      

类似问题 »