0
选择行我有以下在case语句
YEAR_WW
2016-23
2016-24
2016-25
2016-26
2016-27
2016-28
2016-29
2016-30
2016-31
2016-32
2016-33
2016-34
2016-35
表a
我有,从表中的数据拉到定义的另一个表中的case语句。
SELECT Family,Value,YEAR_WW
,weekly_qty = CASE WHEN YEAR_WW = '2016-23' THEN week1
WHEN YEAR_WW = '2016-24' THEN week2
WHEN YEAR_WW = '2016-25' THEN week3
WHEN YEAR_WW = '2016-26' THEN week4
WHEN YEAR_WW = '2016-27' THEN week5
WHEN YEAR_WW = '2016-28' THEN week6
WHEN YEAR_WW = '2016-29' THEN week7
WHEN YEAR_WW = '2016-30' THEN week8
WHEN YEAR_WW = '2016-31' THEN week9
WHEN YEAR_WW = '2016-32' THEN week10
WHEN YEAR_WW = '2016-33' THEN week11
WHEN YEAR_WW = '2016-34' THEN week12
ELSE week13 END
FROM sample_table
而不是硬的情况下声明编码表a
值,有没有指定的case语句中的行数的方法吗?即:
WHEN YEAR_WW = [first_row] THEN week1
WHEN YEAR_WW = [second row] THEN week2...
你使用MySQL?代码看起来不像MySQL。另外,“week1”,“week2”等等是什么。这些列是? –
我不认为有像你问的东西。尽管你可以用一种有点冒险的方式,将破折号后面的子字符串转换为整数,然后从中减去22来获得你所描述的星期数。 – rgoliveira
你的意思是写first_row是什么意思?如果您不会在查询中指定YEAR_WW中的数据,则可以在结果中插入任何星期*。 – AstraSerg