【发布时间】:2015-11-25 06:25:24
【问题描述】:
我有两张桌子可以说
Table A
列 id , name address
Table B
列 id , age, import_date
Table B id 是Table A. 的引用键
现在我想从 A & B but 返回结果,如果记录不在 B 中,我仍然想查看记录,所以为此我使用左外连接
Select * from A a left join B b
on a.id = b.id
现在即使我在 B 中没有记录,我仍然可以得到记录。
表 B 可能包含重复的 ID,但 import_date 是唯一的。
现在我想要的结果是,如果表 B 中有重复的 id,那么我只想获取 import_date 到今天为止的记录。
我仍然想获取不存在的 id 的记录,但如果表 B 中有 ID,那么我想应用上述条件。
我希望有人可以帮助我。
样本数据
Table A
01|John|London
02|Matt|Glasgow
03|Rodger|Paris
Table B
02|22|31-AUG-2015
02|21|30-AUG-2015
02|23|29-AUG-2015
查询将返回
01|John|London|null|null|null
02|Matt|Glasgow|22|31-Aug-2015
03|Rodger|Paris|null|null
【问题讨论】:
-
Select * from A a left join B b on a.id = b.id
-
@Tarun 我已经有这个查询了。我有一个错字,我已经修正了。
-
发布一些示例数据和所需的输出。
-
这是 MySQL 还是 Oracle?
-
@Crazy2crack 它的甲骨文
标签: mysql sql oracle select duplicates