0
我试图将值设置为零,如果用户不存在于我的一个表中。目前,我正在使用解码来计算符合特定条件的用户数量,然后显示结果。显示默认值解码Oracle SQL
SELECT T.D_CODE,
T.C_NO,
SUM(DECODE(t.Value, 'A', 1, 0)) AS FirstValue,
SUM(DECODE(t.Value, 'B', 1, 0)) AS SecondValue,
SUM(DECODE(t.Value, 'C', 1, 0)) AS ThirdValue,
SUM(DECODE(t.Value, 'F', 1, 0)) AS LastValue
FROM Table T,
Table OtherTable S
WHERE T.T_SSN = S.SSN(+)
AND T.D_CODE = 'INF'
GROUP BY t.D_CODE,
T.C_NO;
问题是我有一个third table (TT)
它有其他值。如果TT
的值不存在于Table T
中,那么我需要为所有Decode值显示该记录,其值为0。
需要的输出看起来是这样的:
D_CODE, C_NO, FirstValue, SecondValue, ThirdValue, LastValue INF 600 2 0 0 0 INF 501 0 0 1 0 INF 400 0 0 0 0
哪里INF 400
不表T存在,只有在表TT
有什么建议?
示例数据和必需的输出肯定会有所帮助 –
@JorgeCampos肯定,发布要求的输出 – rvisio
我想我明白了,但我不完全确定,所以我会给你一个答案,如果它不是你想要的你在评论中告诉我。另外,如果不是,你将不得不从三个表中添加一些符合你想要的输出的样本数据。 –