MySql 3.51下再求一个查询
时间:2011-06-24
来源:互联网
name mon tues wend thu fri sat sun
aa 1 1 1 0 0 0 0
b 1 1 0 0 0 0 0
现在要求查询结果如下:
id name weekday
1 aa 2
2 aa 3
3 aa 4
4 b 2
5 b 3
weekday就是取周几对应的数
作者: EvilJade 发布时间: 2011-06-24
SQL code
不知道如何合并。。
SELECT * FROM ( SELECT NAME,(CASE WHEN mon=1 THEN 2 ELSE '' END ) AS WEEKDAY FROM aaa1 GROUP BY NAME UNION SELECT NAME,(CASE WHEN tues=1 THEN 3 ELSE '' END ) AS WEEKDAY FROM aaa1 GROUP BY NAME UNION SELECT NAME,(CASE WHEN wend=1 THEN 4 ELSE '' END ) AS WEEKDAY FROM aaa1 GROUP BY NAME UNION SELECT NAME,(CASE WHEN thu=1 THEN 5 ELSE '' END ) AS WEEKDAY FROM aaa1 GROUP BY NAME UNION SELECT NAME,(CASE WHEN fri=1 THEN 6 ELSE '' END ) AS WEEKDAY FROM aaa1 GROUP BY NAME UNION SELECT NAME,(CASE WHEN sat=1 THEN 7 ELSE '' END ) AS WEEKDAY FROM aaa1 GROUP BY NAME UNION SELECT NAME,(CASE WHEN sun=1 THEN 1 ELSE '' END ) AS WEEKDAY FROM aaa1 GROUP BY NAME ) AS bb WHERE bb.weekday <>'' ORDER BY bb.name
不知道如何合并。。

作者: mr_mablevi 发布时间: 2011-06-24
不知道3.51是否有WEEKDAY函数
select *,weekday(aweek)+2 from (
select name,mon as aweek from tt
union
select name,tues from tt
union
select name,wend from tt
union
select name,thu from tt
union
select name,fri from tt
union
select name,sat from tt
union
select name,sun from tt) a where aweek<>0
select *,weekday(aweek)+2 from (
select name,mon as aweek from tt
union
select name,tues from tt
union
select name,wend from tt
union
select name,thu from tt
union
select name,fri from tt
union
select name,sat from tt
union
select name,sun from tt) a where aweek<>0
作者: wwwwb 发布时间: 2011-06-24
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28