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小时内删除。