2015-10-07 141 views
0

在表A(即Charges)我有我的数据,并在B(即gdh)有映射。SQL左连接给出错误结果

由于某种原因,我的查询没有显示没有映射空值的行。 有什么想法?

select a.chargeable_object, a.debitor, a.source_bu, a.target_cc, a.target_bu, b.L5_CLUSTER, sum(a.charge) 
from charges a 
    left join gdh b on a.target_cc = b.department_id 
where a.account not like ('H%') 
    and a.chargeable_object is not null 
    and a.source_bu in ('301','161','303') 
    and a.debitor not in ('0315X02', '0961901', '0972023', '0972024',......) 
group by a.chargeable_object, a.debitor, a.source_bu, a.target_cc, a.target_bu, b.L5_CLUSTER 
+0

你不是从gdh过滤,所以问题是我想你的数据。没有一些数据来重现问题,我们不能不提供帮助。 –

+0

目前还不清楚:你是否想要包含空值的映射? –

+1

有人猜测,这是因为您收费表中的所有行都与gdh表中的条件都有对应的行相匹配。 – Boneist

回答

0

这将有助于看到一些示例数据。无论如何,列a.target_cc包含空值?我希望那些会被过滤掉。