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