本文介绍了查询忽略重复/空记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
以下是我们需要加入以获取数据的 3 个表
Below are the 3 tables which we need to join to get the data
TableA TableB TableC
AId BId Name CId DeclareDate value
1 1 abc 1 September 11
2 2 def 1 October 12
3 3 xyz 1 November 13
4 4 pqr 1 December 14
5 5 ghi 2 September 15
3 October 16
4 August 17
5 October 18
5 December 19
从 TableC 中,我们有相同的基金,CId 1 在所有 4 个月内都在申报,在这种情况下,我只需要 12 月的行,如果基金不在 12 月申报,那么我需要获得该 C id 的空值.所以输出表应该如下所示.
From TableC we have same fund with CId 1 is declaring in all the 4 months, in that case I need only the december row and if the fund is not declaring in december then I need to get the null valure for that C id. So the output table should look like below.
输出表
AId BId name DeclareDate value
1 1 abc December 14
2 2 def null null
3 3 xyz null null
4 4 pqr null null
5 5 ghi december 19
所以最后,如果 12 月没有声明日期,则返回 null,如果有多个声明日期,则只返回 12 月记录.
So finally if there are no declared dates in december then return null, if there are multiple declare dates then return only the december record.
请提出建议.
推荐答案
使用左连接到表C
select a.*,b.*, c.DeclareDate, c.Value from TableA a
inner join TableB b on a.AI =b.BId
left join
(select * from TableC where DeclareDate='December') c
on b.BId = c.CId
输出
这篇关于查询忽略重复/空记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!