2
因此,我必须在DB2中编写一个SQL,并且我无法弄清楚如何执行该操作。 喜欢的东西挑这些域代码和它们的值从财务表 只要他们是高于$ 10,000个从同一个表中选择多个(带空值)
Select
(A.Value),
(B.Value),
(C.Value)
...
From
Client K,
Finance A,
Finance B,
Finance C
...
的问题是在哪里声明。我不能忍受:
Where
K.Client = A.Client
AND A.FieldCode = 1
AND A.Value > 10000
AND K.Client = B.Client
AND B.FieldCode = 2
AND B.Value > 10000
...
等等......因为这并不包括空值,所以它大大降低了结果集,更多的时候,我叫财务表。
如何保持上述格式并使其包含空值,以便只要财务A或财务B或财务C等存在就会显示该行? (注意:做第一个最明显的事情就像重复调用财务表一次,比如说财务A,但没有B,C,D等不能解决这个问题,因为结果(来自A,B,C, D等)不能在许多行上分开)。
这是我做的一个压缩版本:
SELECT
A.CLIENT_ID,
A.PERIOD_ID,
FN0.AMOUNT,
FN2.AMOUNT
FROM ASSESMENT A
LEFT OUTER JOIN FINANCE FN0
ON A.CLIENT_ID = FN0.CLIENT_ID
AND A.PERIOD_ID = FN0.PERIOD_ID
LEFT OUTER JOIN FINANCE FN1
ON A.CLIENT_ID = FN1.CLIENT_ID
AND A.PERIOD_ID = FN1.PERIOD_ID
WHERE
FN0.FLD_CD = 1258860
AND FN1.FLD_CD = 1258861
林仍然是,如果我空出的FN1相关的线,我得到了很多的返回值的问题。 AKA它仍然不包含NULL值,并且只有在所有字段代码都有值时才返回值。
感谢您的回复。我不知道它的工作原理。但首先:我不能添加行AND A.FieldCode = 1到from语句,它说无效的ON语句。任何想法为什么?目前,我把A.FieldCode行放在了它的工作地点......但是我想这可以避免练习的全部重点? – Ardia
@Ardia *我无法添加行AND A.FieldCode = 1 *显示您添加的完整代码AND AND.FieldCode = 1' –
更新了主要问题中的代码。仍然没有摆脱空? – Ardia