假设我有两个包含 2 列的表: 表 A:
| 工作 | 成本 |
|---|---|
| 1 | 100 |
| 1 | 200 |
| 2 | 100 |
| 2 | 150 |
| 2 | 50 |
和表B:
| 工作 | 卖 |
|---|---|
| 1 | 100 |
| 1 | 100 |
| 1 | 200 |
| 2 | 100 |
| 2 | 100 |
我想通过连接这两个表来查询结果,如下所示:
| 工作 | 成本 | 卖 |
|---|---|---|
| 1 | 300 | 400 |
| 2 | 300 | 200 |
我尝试如下查询,但结果不符合预期:
SELECT A.Job,
SUM(A.Cost) AS NCOST,
SUM(B.Sell) AS NSELL
FROM TableA A
JOIN TableB B ON A.Job= B.Job
GROUP BY A.Job;
Run Code Online (Sandbox Code Playgroud)
谁能帮助我纠正我的查询?
使用连接UNION ALL而不是聚合:
SELECT Job,
SUM(Cost) AS Cost,
SUM(Sell) AS Sell
FROM (
SELECT Job, Cost, 0 AS Sell FROM TableA
UNION ALL
SELECT Job, 0, Sell FROM TableB
) AS t
GROUP BY Job;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
120 次 |
| 最近记录: |