是否可以获取字段名称并将其转换为字符串,以便我可以将字符串存储到另一个字段?

时间:2017-12-17 13:42:06

标签: php mysql

我目前正在进行职业测试项目,我有ABM,TVL,STEM等专栏,其中相应地存储了用户(参加测试)的得分(每个类别)。这些字段名称也是类别名称。我还包括一个CareerResult列,其中必须存储分数最高的类别名称。

例如,如果用户有

的分数

ABM - 1
TVL - 2
STEM - 3

在CareerResult栏中,由于用户在此课程中获得最高分,因此应存储“STEM”一词。

这可能吗?如果是,我应该使用什么查询?

1 个答案:

答案 0 :(得分:1)

您可以使用条件逻辑:

select . . .,
       (case when stem = greatest(abm, tlv, stem) then 'stem'
             when tlv = greatest(abm, tlv, stem) then 'tlv'
             when abm = greatest(abm, tlv, stem) then 'abm'
        end) as column_with_max
. . .

请注意,在tie的情况下,您只返回遇到的第一个值。

这也可以通俗地写成:

select . . .,
       (case greatest(abm, tlv, stem)
             when stem then 'stem'
             when tlv then 'tlv'
             when abm then 'abm'
        end) as column_with_max

请注意,这两种方法都假设列不是NULL