使用 MySQL 查询动态转置

时间:2021-03-03 16:10:24

标签: mysql pivot transpose

我在使用 MySQL 基于连接将某些表行转换为列时遇到了一些问题。我知道这是一个数据库问题,但也许有人可以给我一个替代解决方案。

给定以下两个表:

发票

enter image description here

enter image description here

我需要输出这个表:

enter image description here

基本上,在第一个表中,我保存了不同发票的信息以及应显示每张发票总计的列的 ID。在第二个表上,我正在保存我拥有的不同列。查询应该是动态的,所以如果我在第二个表上创建新列,我就不必更新我的查询。

1 个答案:

答案 0 :(得分:0)

SELECT id_invoice,
       CASE WHEN description = 'A' THEN total ELSE '' END a,
       CASE WHEN description = 'B' THEN total ELSE '' END b,
       CASE WHEN description = 'C' THEN total ELSE '' END c
FROM invoices
JOIN columns USING (id_column)
相关问题