Ich habe diese Anfrage:Erreichen verschachtelte Group_concat
select p.id,
p.price,
concat('[',group_concat(concat('{',concat_ws(',', concat('color:', pc.color),concat('sizeName:',cs.size_name)),'}')),']') as variety
from tbl_products as p
inner join tbl_product_colors as pc on p.id = pc.product_id
left join tbl_color_sizes as cs on pc.id = cs.product_color_id
group by p.id;
Abfrage über Ausgänge:
Id | price | variety
1 | 1000 | [ {color:FFFFFF, sizeName:XL} , {color:FFFFFF, sizeName:X} ]
Aber meine gewünschte Ausgabe ist:
Id | price | variety
1 | 1000 | [ {color:FFFFFF, sizes: [ {sizeName: XL} , {sizeName: L} ] } ]
Frage: Wie kann ich group_concat in diesem Kontext oder eine andere Funktion (neben der JSON-Funktion) verwenden, um die gewünschte Ausgabe zu erreichen?
Was wäre die gewünschte Ausgabe, wenn Produkt 1 mehrere Farben hätte? – Uueerdo
[{color: FFFFFF, Größen: [{sizeName: XL}, {sizeName: L}]}, {color: F2F2F2, Größen: [{sizeName: XL}]}] – Sajad
Und das wäre eine einzige 'Varieté' Feldwert? – Uueerdo