mysql在同一排父母中的孩子

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

有没有办法让您在中看到的模式显示为:

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 ',')) 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 |
+-------+--------+--------+--------+-------------+