【发布时间】:2019-09-17 04:03:34
【问题描述】:
表 1
invno 百分比 成本
1 18% 18.00
1 18% 18.00
2 18% 18.00
2 28% 28.00
表 2
id 百分比
1 18%
2 28%
表 2 percentage 列值应成为输出的列标题。
在表1中,invno1有2个条目,但是18%的百分比值相同; invno 2 有 2 个具有不同百分比值的条目。
输出
invno percentage 18% percentage 28%
1 36.00 0.00
2 18.00 28.00
到目前为止我已经写了:
SELECT
`invno`,
SUM(CASE WHEN `percentage` = '18' THEN `percentage` ELSE NULL END) AS `percentage_18`,
SUM(CASE WHEN `percentage` = '28' THEN `percentage` ELSE NULL END) AS `percentage_28`
FROM `table1`
GROUP BY `invno`
HAVING 18 IS NOT NULL AND 28 IS NOT NULL
ORDER BY `invno`
这很好,但我想动态获取百分比。
【问题讨论】:
-
请给我这个输出的 mysql 查询先自己试试怎么样。
-
你有多少百分比???只有两个或更多?
-
我不知道怎么在这里提问。这是我第一次。所以请帮助我
-
如果我理解您的任务,您将需要编写某种 JOIN(取决于您的需要),然后使用枢轴技术生成总和。这是一条线索...stackoverflow.com/a/51321042/2943403
-
这个问题就目前而言很好,但正如所指出的那样 - 您应该尝试解决问题。到目前为止你写过代码吗?