mysql在同一排父母中的孩子
有没有办法让您在中看到的模式显示为: SKU |尺寸S |尺寸M |尺寸L |初始数量|数量 ?? 我试着使用GROUP_CONCAT,但这不是我想要的 这是我的问题mysql在同一排父母中的孩子,mysql,group-concat,nested-query,Mysql,Group Concat,Nested Query,有没有办法让您在中看到的模式显示为: SKU |尺寸S |尺寸M |尺寸L |初始数量|数量 ?? 我试着使用GROUP_CONCAT,但这不是我想要的 这是我的问题 select sku, name, group_concat(taglie separator ';') as `Magazzino` from ( select p.sku, p.name, concat(po.valuename, ':', group_concat(po.value separator ',')) a
select sku, name, group_concat(taglie separator ';') as `Magazzino`
from
(
select p.sku, p.name, concat(po.valuename, ':',
group_concat(po.value separator ',')) as taglie
from products p
right join products_opt po
on p.id = po.product
group by p.sku
) tbl
group by sku;
有什么建议吗?
谢谢您需要为两个id添加自动增量
SQLFiddle:
所需的SQL:
输出:
是否要对实体属性值数据集执行交叉表查询?这将导致一些丑陋的SQL。但我不知道当唯一的价值指标数量,初始数量在输出中表示为不同的列。我期望的是:SKU |大小S |大小M |大小L |大小demoprod | 2 | 1 | 1 |这与您在上面问题中提出的完全不同。是的,Dylan,关于自动增量,您是对的。你拉小提琴的结果不是我所期望的。你从来没有提到你所期望的。我根据我的猜测更新了我的帖子……对不起,迪伦,我的评论已经发表了,但我还没有写完!我的评论似乎很粗鲁。我道歉。无论如何,非常感谢您的新查询。为什么要求和?谢谢你的解释
select
p.sku,
sum(po.value = 'S') as `size S`,
sum(po.value = 'M') as `size M`,
sum(po.value = 'L') as `size L`,
po.product as demoproduct
from products p
right join products_opt po
on p.id = po.product
group by p.sku;
+-------+--------+--------+--------+-------------+
| sku | size S | size M | size L | demoproduct |
+-------+--------+--------+--------+-------------+
| PROD1 | 1 | 1 | 1 | 1 |
| PROD2 | 2 | 1 | 2 | 2 |
+-------+--------+--------+--------+-------------+