【发布时间】:2018-05-11 05:38:01
【问题描述】:
在mysql表中的一列是json,我想选择JSON字段并设置为列名
类 3 的 Json 字段值
{"name": "xyz 1", "email": "xyz1@example.com"}
{"name": "xyz 2", "email": "xyz2@example.com"}
第四类
{"first_name": "abc1", "last_name": "pqr1"}
{"first_name": "abc2", "email": "pqr2"}
我可以将特定键设置为列名,如
select json_extract(my_tags,'$.name') as name from {table_name} where class = 3;
但我希望所有键值都作为选择结果中的列名。键值每次都会不同 从上面的示例结果列应该如下 姓名、电子邮件
select {my_tags} as name from {table_name} where class = 4;
但是对于第 4 类,需要的列名应该是 first_name 和 last_name
【问题讨论】:
-
您可以使用 PHP 数组函数获取所有键作为列首先转换 JSON 解码然后使用 array_keys 然后 implode