2
我试图将150列的值更改为以下值;MYSQL-多列值更改
'0 = Not provided'
' 1 = Yes '
' 2 = No '
我能够对每列使用case语句做到这一点。但问题在于它会将所有内容放入一列中。有没有办法为每个专栏做到这一点,而不写150个案例陈述?这些列需要按照特定的顺序。
例如:
SELECT CASE
WHEN Answer.Question1_ID is null THEN 'Not Provided'
WHEN Answer.Question1_ID = 1 THEN 'Yes'
WHEN Answer.Question1_ID = 2 Then 'No'
End as 'Question1',
CASE
WHEN Answer.Question2_ID is null THEN 'Not Provided'
WHEN Answer.Question2_ID = 1 THEN 'Yes'
WHEN Answer.Question2_ID = 2 Then 'No'
End as 'Question2'
。 。 。
从回答
这就是为什么你永远不会创建这样的表格:以后查询它们会变成一场噩梦。 –
WOW ... 150列:D –
所以你有问题1 - >问题150?你真的真的应该规范化该表,然后对子表进行简单/平凡的更新查询。 –