这是源示例表:
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
在这方面需要更多帮助...
谢谢, 尤加尔
最佳答案
一个简单的交叉表方法(我个人更喜欢)是使用 group by operator with MAX(CASE WHEN...) 模式来控制交叉表字段。这很容易理解 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
关于mysql - 需要交叉表 SQL 查询的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6426896/