我有 3 张桌子(JM、JCD 和 JEO)。JM 是具有 PK JobNo 的父级。JCD 和 JEO 都是 FK 的 JobNo 的 JM 的孩子。
下面是我正在为其编写查询的 3 个表中所需的输出表(对于糟糕的格式感到抱歉 - 它不会让我发布图像:()
杰米
JobNo
------
13088
13100
JCD
JobNo CostType Amount
----------------------------
13088 10 100
13088 10 105
13088 23 120
13088 24 130
13088 25 140
13088 26 50
13088 90 50
13100 25 5
13100 90 10
JEO
JobNo CostType Estimate
-------------------------------------
13088 10 50
13088 11 60
13088 24 10
13088 30 100
13100 25 310
输出
JobNo CostType Amount Estimate
------------------------------------
13088 10 100 0
13088 10 105 0
13088 23 120 0
13088 24 130 0
13088 25 140 0
13088 26 50 0
13088 10 0 50
13088 11 0 60
13088 24 0 10
13088 30 0 100
13100 25 5 0
13100 25 0 310
关于实现这一目标的代码有什么想法吗?
(请注意,结果表不包括 JCD.CostType 等于 90 的任何行)。
我已经尝试过这样的事情,但它不起作用:(
SELECT JM.JobNo, JCD.CostType, JCD.Amount, JEO.Estimate
FROM JM
FULL OUTER JOIN JCD ON JM.JobNo = JCD.JobNo
FULL OUTER JOIN JEO ON JM.JobNo = JEO.JobNo
WHERE JCD.CostType != 90
GROUP BY JM.JobNo, JCD.CostType, JCD.Amount, JEO.Estimate