SQLITE group_concat配对两列的值

时间:2018-04-13 06:48:04

标签: sqlite group-concat

我有一张这样的表:

id      key      value
244574  16       999
244574  18       999
244574  54       174
214808  16       662
214808  17       808
214808  33       1
214808  60       2
214809  16       902 
214809  17       1103
214809  33       1
214809  60       2
218965  19       808
218965  21       662
218965  33       1
218965  60       8
218966  19       1103
218966  21       902
218966  33       1
218966  60       8

小提琴:click here

现在我尝试获取一个列表,其中我有一对包含键和值的列,它应该如下所示:

id      key_value_pairs
214808  [16,662;17,808;33,1;60,2]
214809  [16,902;17,1103;33,1;60,2]
218965  [19,808;21,662;33,1;60,8]
218966  [19,1103;21,902;33,1;60,8]
244574  [16,999;18,999;54,174]

我的查询:

select 
id,
'[' || group_concat(key, ',') ||
';' || group_concat(value, ',') || ']' as key_value_pairs
from items_attributes
GROUP BY id

...这导致你在我上面链接的小提琴中看到的内容。

有人碰巧有解决这个问题的方法吗?

提前致谢!

祝你好运, 安德烈亚斯

1 个答案:

答案 0 :(得分:1)

获得: -

enter image description here

我用过: -

select 
    id,
    '[' || group_concat(key||","||value, ';')||']' as key_value_pairs
from items_attributes
GROUP BY id