我有这张桌子:
产品 | 金额 | 没有客户 |
---|---|---|
Prdct_1 | 100 | 9 |
Prdct_1 | 200 | 15 |
Prdct_2 | 50 | 2 |
Prdct_3 | 40 | 5 |
Prdct_3 | 80 | 5 |
Prdct_4 | 10 | 1 |
我想将其加入下表
产品 | 无账单 |
---|---|
Prdct_1 | 6 |
Prdct_1 | 3 |
Prdct_2 | 4 |
Prdct_3 | 10 |
Prdct_3 | 5 |
Prdct_4 | 2 |
此外,我想添加所有类别的总和。所以结果应该是这样的:
产品 | 金额 | 没有客户 | 无账单 |
---|---|---|---|
Prdct_1 | 300 | 24 | 9 |
Prdct_2 | 50 | 2 | 4 |
Prdct_3 | 120 | 10 | 15 |
Prdct_4 | 10 | 1 | 2 |
总计 | 480 | 35 | 30 |
我该如何解决这个问题?感谢您的回答。
我没有可以立即测试的 postgres,但是看看这个
sql
,希望这对你有用...
SELECT
product,
SUM(amount) AS amount,
SUM(no_of_customers) AS no_of_customers,
SUM(no_of_bills) AS no_of_bills
FROM (
SELECT
product,
amount,
no_of_customers
FROM table1
UNION ALL
SELECT
product,
0 AS amount,
0 AS no_of_customers,
no_of_bills
FROM table2
) AS t
GROUP BY product
ORDER BY product;