SQL查询结果为多行按照列的条件显示合并成一行

nnjieguo 2014-03-20 12:26:17
请各位帮忙
表名:UTable
表结构:
UID Udept Uname P01 P02 P03
表内容:
UID Udept Uname P01 P02 P03
1 代理部 策划组 OK OK
2 代理部 策划组 OK OK
3 代理部 策划组 OK

4 代理部 宣传组 OK OK
5 代理部 宣传组 OK
6 代理部 宣传组

希望得到查询结果
Udept Uname P01 P02 P03
代理部 策划组 OK OK OK
代理部 宣传组 OK OK

说明:根据Udept,Uname分类,通过查询显示"P01","P02","P03",三个字段中任何一组有"OK"的时候,显示内容为 "OK"(字段内的值),然后合并显示至同一行。
不知道这样描述是否清楚,希望还有人未睡觉。
最好能用sql语句实现.
先感谢
为什么只能有100分
...全文
744 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
nnjieguo 2014-03-20
  • 打赏
  • 举报
回复
终于可以睡觉了
nnjieguo 2014-03-20
  • 打赏
  • 举报
回复
牛,只是少了一个">="号,可能是说明不清楚,换成access里Iif测试通过,感谢!
nnjieguo 2014-03-20
  • 打赏
  • 举报
回复
灰常感谢,测试一下
BzTech_123 2014-03-20
  • 打赏
  • 举报
回复

SELECT Udept, Uname, CASE WHEN SUM(CASE WHEN P01='OK' THEN 1 ELSE 0 END)>1 THEN 'OK' ELSE '' END AS P01, CASE WHEN SUM(CASE WHEN P02='OK' THEN 1 ELSE 0 END)>1 THEN 'OK' ELSE '' END AS P02, CASE WHEN SUM(CASE WHEN P03='OK' THEN 1 ELSE 0 END)>1 THEN 'OK' ELSE '' END AS P03
FROM UTable GROUP BY Udept, Uname 

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧