数据库
首页 > 数据库> > mysql – 需要帮助Cross Tab SQL Query

mysql – 需要帮助Cross Tab SQL Query

作者:互联网

这是源示例表:

    UserID  UserNameType    UserName
    1       First Name      FN1
    1       Last Name       LN1
    2       First Name      FN2
    2       Last Name       LN2
    3       First Name      FN3
    3       Last Name       LN3
    4       First Name      FN4
    4       Last Name       LN4

我想有一个SQL查询来显示我的结果,如下面给出的格式.

   
    UserID  FirstName   LastName
    1       FN1         LN1
    2       FN2         LN2
    3       FN3         LN3
    4       FN4         LN4

需要更多帮助…

谢谢,
Yugal

解决方法:

一个简单的交叉表方法(我个人更喜欢)是使用具有MAX(CASE WHEN …)模式的group by运算符来控制交叉表字段.这很容易理解IMO,并且易于扩展,具有更多领域.我不确定性能.

select
    UserID,
    max(case when usernametype='First Name' then username end) as FirstName,
    max(case when usernametype='Last Name' then username end) as LastName
from
    MyTable T
group by
    UserID

标签:sql,mysql,sql-server-2008,sql-server-2005
来源: https://codeday.me/bug/20190726/1542631.html