使用 MySQL 查询动态转置
Transpose dynamically using MySQL queries
我在使用 MySQL 基于连接将某些 table 行转置为列时遇到了一些问题。我知道这是一个数据库问题,但也许有人可以给我一个替代解决方案。
给定以下两个 tables:
发票
列
我需要输出这个table:
基本上,在第一个 table 上,我保存了不同发票的信息以及应显示每张发票总计的列的 ID。在第二个 table 上,我正在保存我拥有的不同列。查询应该是动态的,所以如果我在第二个 table 上创建新列,我就不必更新我的查询。
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)
我在使用 MySQL 基于连接将某些 table 行转置为列时遇到了一些问题。我知道这是一个数据库问题,但也许有人可以给我一个替代解决方案。
给定以下两个 tables:
发票
列
我需要输出这个table:
基本上,在第一个 table 上,我保存了不同发票的信息以及应显示每张发票总计的列的 ID。在第二个 table 上,我正在保存我拥有的不同列。查询应该是动态的,所以如果我在第二个 table 上创建新列,我就不必更新我的查询。
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)