我打赌我的标题不清楚所以有一张我想要的表格。
我有这个:
+------+---------+-------+
|LOGIN | KEY | VALUE |
+------+---------+-------+
|JDE001|LASTNAME |Doe |
|JDE001|FIRSTNAME|John |
|RRE001|LASTNAME |Roe |
|RRE001|FIRSTNAME|Richard|
+------+---------+-------+
我想:
+------+--------+---------+
|LOGIN |LASTNAME|FIRSTNAME|
+------+--------+---------+
|JDE001|Doe |John |
|RRE001|Roe |Richard |
+------+--------+---------+
有什么想法吗?
答案 0 :(得分:1)
您可以在此处使用简单的透视查询。诀窍在于,对于属于给定登录的每对记录,我们使用MAX()
和CASE
表达式将名字和姓氏分成不同的列。
SELECT
LOGIN,
MAX(CASE WHEN `KEY`='LASTNAME' THEN VALUE END) AS LASTNAME,
MAX(CASE WHEN `KEY`='FIRSTNAME' THEN VALUE END) AS FIRSTNAME
FROM yourTable
GROUP BY LOGIN
<强>输出:强>
在这里演示: