表select a.USERINTERVAL_ID,a.DISEASE_ID,a.DTYPE_ID,
max(if (a.SCHEDULE_DATE='2014-08-01',a.STRATEGY_ID,'')) as '2014-08-01',
max(if (a.SCHEDULE_DATE='2014-08-02',a.STRATEGY_ID,'')) as '2014-08-02'
from t_Model_OP_PUSHSCHEDULE a where a.SCHEDULE_DATE>='2014-08-01' and a.SCHEDULE_DATE<='2014-08-02'
group by a.SCHEDULE_DATE,a.USERINTERVAL_ID,a.DISEASE_ID,a.DTYPE_ID,a.STRATEGY_ID结果
.
请问怎么让8月1号和8月2号的内容在一面显示

解决方案 »

  1.   

    group by a.SCHEDULE_DATE,a.USERINTERVAL_ID,a.DISEASE_ID,a.DTYPE_ID,a.STRATEGY_ID去掉a.SCHEDULE_DATE
      

  2.   

    我写个例子给你,你自己试试吧
    mysql的IF语句
    格式:IF(Condition,A,B)
    意义:当Condition为TRUE时,返回A;当Condition为FALSE时,返回B。
    作用:作为条件语句使用。
    SELECT IF(title!="",title,slug) AS item,text FROM news2
      

  3.   

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