sql语句多列数据按照条件不同查询不同属性列
sql语句查询不包含最近开发项⽬遇到⼀个sql语句查询难点,数据有多个属性,需要根据不同条件查询出对应属性,结果集⾥只能有⼀个属性。
通过研究,发现sql语句⾥的case when可以实现我的需求。
简单的case when函数
CASE SCORE WHEN 'A' THEN '优' ELSE '不及格' END
CASE SCORE WHEN 'B' THEN '良' ELSE '不及格' END
CASE SCORE WHEN 'C' THEN '中' ELSE '不及格' END
详情如下
需求在前端⼤屏中展⽰当⽇菜单,本来是在数据库中把当⽇菜单查询出来不是复杂的事,实际开发中发现,有难点,甲⽅菜单数据存储结构如图
⼀⾏数据中包含⼀周七天的,需要根据当⽇是星期⼏获取对应的列的数据展⽰出来。
SELECT case when DATENAME(weekday,GETDATE())='星期⼀' then DayMenu.daymonID
when DATENAME(weekday,GETDATE())='星期⼆' then DayMenu.dayTuesID
when DATENAME(weekday,GETDATE())='星期三' then DayMenu.dayWedID
when DATENAME(weekday,GETDATE())='星期四' then DayMenu.dayThursID
when DATENAME(weekday,GETDATE())='星期五' then DayMenu.dayFridID
when DATENAME(weekday,GETDATE())='星期六' then DayMenu.daySaturdID
when DATENAME(weekday,GETDATE())='星期⽇' then DayMenu.daySunID end) as dName
FROM DayMenuExamine
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论