首页 > 解决方案 > 转换列中的行

问题描述

我的 MYSQL 数据库中的一个表有问题:我的表是一个 3 维矩阵,即:

FormId, FieldName, FieldValue
160,    TITLE,     A
160,    NAME,      B
160,    SURNAME,   C
161,    TITLE,     D
161,    NAME,      E
161,    SURNAME,   F
162,    TITLE,     G
162,    NAME,      H
162,    SURNAME,   I

我怎样才能得到这个结果?

FormId, Title, Name, Surname
160,    A,     B,    C
161,    D,     E,    F
162,    G,     H,    I

谢谢大家

标签: mysql

解决方案


您可以在下面尝试 - 在表达式中使用大小写

select FormId, max(case when FieldName='Title' then FieldValue end) as Title,
max(case when FieldName='Name' then FieldValue end) as Name,
max(case when ieldName='Surname' then FieldValue end) as Surname
from tablename
group by FormId

推荐阅读