有个记录表T1:姓名 日期 语文 数学 英语
----|----|---|---|-----
张三 周一 好 - -
张三 周一 - 好 -
张三 周一 - - 好
张三 周二 好 - -
张三 周二 - - 好
李四 周一 - 好 -
李四 周一 好 - -
...
想得到结果,按姓名和日期汇总:姓名 日期 语文 数学 英语
----|----|---|---|-----
张三 周一 好 好 好
张三 周二 好 - 好
李四 周一 好 好 -
请求 MS的SQL语句 谢谢
----|----|---|---|-----
张三 周一 好 - -
张三 周一 - 好 -
张三 周一 - - 好
张三 周二 好 - -
张三 周二 - - 好
李四 周一 - 好 -
李四 周一 好 - -
...
想得到结果,按姓名和日期汇总:姓名 日期 语文 数学 英语
----|----|---|---|-----
张三 周一 好 好 好
张三 周二 好 - 好
李四 周一 好 好 -
请求 MS的SQL语句 谢谢
INSERT INTO @TB SELECT '张三', '周一', '好', '-' , '-'
UNION ALL SELECT '张三' ,'周一', '-', '好', '-'
UNION ALL SELECT '张三' ,'周一' ,'-' ,'-' ,'好'
UNION ALL SELECT '张三' ,'周二' ,'好' ,'-' ,'-'
UNION ALL SELECT '张三' ,'周二' ,'-' ,'-' ,'好'
UNION ALL SELECT '李四' ,'周一' ,'-' ,'好' ,'-'
UNION ALL SELECT '李四' ,'周一' ,'好' ,'-' ,'-'
SELECT ANAME,ADATE,MAX(CH),MAX(MA),MAX(EN) FROM @TB GROUP BY ANAME,ADATE
/*
ANAME ADATE CH MA EN
---------- ---------- ---------- ---------- ----------
张三 周二 好 - 好
李四 周一 好 好 -
张三 周一 好 好 好(所影响的行数为 3 行)
*/
select 姓名, 日期, max(语文) as 语文, max(数学) as 数学, max(英语) as 英语
from T1 group by 姓名,日期