旋转 MySQL table 行到列

Rotating MySQL table Rows to Columns

我什至想知道如何做到这一点时遇到问题。如果可以的话请帮助我或建议另一种方法

我正在使用 Jquery Datatables 插件来填充 table。 我有一个名为 contracts 的产品合同 table 。一个合同最多可以包含 20 个产品,每个产品都链接到 20 个不同的 BUYERS,这意味着大约有 400 行数据每份合同。在某些时候,我将不得不打印此信息(根据需要)。我可以打印它,但它 reader 不友好。 所以,我想以更 reader 友好的方式改造这个 table。

例如,如果你在图片中看到,我有三个产品,每个产品都链接了 3 个买家。包装数量是指随附的不同类型的包装。总共有 9 行(实际上我至少有 200 行)。 这个可以转化成下面给出的table吗? 便于阅读和打印。

谢谢。 任何帮助将不胜感激。

这看起来像条件​​聚合:

select buyer,
    sum(case when p_name = 'Eggs'   then quantity_type_1 + quantity_type_2 + quantity_type_3 + quantity_type_4 else 0 end) as egg,
    sum(case when p_name = 'Potato' then quantity_type_1 + quantity_type_2 + quantity_type_3 + quantity_type_4 else 0 end) as potato,
    sum(case when p_name = 'Milk'   then quantity_type_1 + quantity_type_2 + quantity_type_3 + quantity_type_4 else 0 end) as milk
from mytable
group by buyer