【发布时间】:2020-09-09 09:49:59
【问题描述】:
嘿,我是 SQL 新手。我有一个这样的表,我想将它转换/写入另一个表。
|sessionid |key |value|
-----------------------
|12345678 |key1 |val1 |
|12345678 |key1 |val2 |
|12345678 |key1 |val3 |
|12345678 |key1 |val4 |
|12345678 |key1 |val5 |
|12345678 |key2 |lav1 |
|12345678 |key2 |lav2 |
|12345678 |key2 |lav3 |
|12345678 |key2 |lav4 |
|12345678 |key3 |lav1 |
|12345678 |key3 |lav2 |
我想用这种格式写一个新表:
|sessionid |key1 |key2 |
------------------------
|12345678 |val1 |lav1 |
|12345678 |val2 |lav2 |
|12345678 |val3 |lav3 |
|12345678 |val4 |lav4 |
|12345678 |val5 |null |
我拥有的是这样的:
SELECT sessionid ,
-- KEY1
CASE
WHEN logtagname = 'key1'
THEN value
END AS 'vp_session_id',
-- KEY2
CASE
WHEN logtagname = 'key2'
THEN value
END AS 'diy_module',
FROM table
返回这个:
|sessionid|key1 |key2 |
-----------------------
|12345678 |val1 |null |
|12345678 |val2 |null |
|12345678 |val3 |null |
|12345678 |val4 |null |
|12345678 |val5 |null |
|12345678 |null |lav1 |
|12345678 |null |lav2 |
|12345678 |null |lav3 |
|12345678 |null |lav4 |
有人可以帮忙吗?
【问题讨论】:
-
如果有两个以上的键怎么办?
-
@forpas 然后应该忽略我会编辑我的问题谢谢
标签: mysql sql stored-procedures pivot case