gpt4 book ai didi

mysql - Oracle 根据列值选择查询

转载 作者:行者123 更新时间:2023-11-29 12:01:24 25 4
gpt4 key购买 nike

我有两张 table

Table A 

id、名称地址

Table B 

id、age、import_date

表 B id表 A 的引用键。

现在我想从 A 和 B 返回结果,但是如果记录不在 B 中,我仍然想查看该记录,因此我使用左外连接

Select * from A a left join B b
on a.id = b.id

现在即使我在 B 没有记录,我仍然可以获得记录。

表 B 可能包含重复的 ID,但 import_date 是唯一的。

现在我想要的结果是,如果表 B 中存在重复的 id,那么我只想获取 import_date 截至今天的记录。

我仍然想获取不存在的 id 记录,但如果该 ID 在表 B 中,那么我想应用上述条件。

我希望有人能帮助我。

示例数据

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 a.id,a.name,a.address,b.age,b.import_date 
from tablea a left join tableb b
on a.id=b.id and b.import_date=trunc(sysdate)
order by a.id;---This line optional

检查DEMO HERE

关于mysql - Oracle 根据列值选择查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32307513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com