[英]Using JSON_TABLE to convert List into Rows
我有一个数据库列(名为“product_parents”),格式为 JSON object,其中包含以下数据:
'[“A”、“B”、“G”、“H”、“C”、“E”、“P”、“R”]'
我想使用 JSON_Table 为每个项目创建单独的行。
理想情况下,我会得到类似的东西:
|一个| |B| |C| |...| |P| |R|
我试过了
SELECT *
FROM pmctb.products AS p,
JSON_TABLE (p.product_parents, '$[*]'
COLUMNS (
pp_id FOR ORDINALITY,
pp_pn VARCHAR(255) PATH '$.header')
) AS pp
WHERE product_uid = "310-000574"
($.header 只是一种尝试,因为没有列标题)但这只是返回表和序数,并为 pp_pn 提供了空值。
任何帮助,将不胜感激。 谢谢
看起来这对 MySQL 8+ 有效:
create table products (product_parents json);
insert into products values ('["A", "B", "G", "H", "C", "E", "P", "R"]');
select pp
from products,
JSON_TABLE(
products.product_parents,
'$[*]' columns (pp varchar(255) path '$')
) t;
结果是:
pp |
---|
一个 |
乙 |
G |
H |
C |
乙 |
磷 |
R |
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.