gpt4 book ai didi

sql - 需要检索表 A 中的所有记录,并且只检索表 B 中最后更新的一条记录

转载 作者:行者123 更新时间:2023-12-02 01:37:56 26 4
gpt4 key购买 nike

我必须检索 TABLE_A 中的某些记录 - 然后需要显示上次更新该行的时间 - 它位于 TABLE_B 中(但是,在 TABLE_B 中有许多相关的记录)。 TABLE_A 的 TABLE_A.PK 是 ID 并通过 TABLE_B.LINK 链接到 TABLE_B,其中架构为:

TABLE_A
===================
ID NUMBER
DESC VARCHAR2

TABLE_B
===================
ID NUMBER
LINK NUMBER
LAST_DATE DATE

实际的表数据是:

TABLE_A
===================
100 DESCRIPTION0
101 DESCRIPTION1

TABLE_B
===================
1 100 12/12/2012
2 100 12/13/2012
3 100 12/14/2013
4 101 12/12/2012
5 101 12/13/2012
6 101 12/14/2013

所以,我需要读一些东西:

Result
====================
100 DESCRIPTION0 12/14/2013
101 DESCRIPTION1 12/14/2013

我尝试了不同的加入方式,但似乎没有任何效果:

select * from
(SELECT ID, DESC from TABLE_A WHERE ID >= 100) TBL_A
full outer join
(select LAST_DATE from TABLE_B WHERE ROWNUM = 1 order by LAST_DATE DESC) TBL_B
on TBL_A.ID = TBL_B.LINK;

最佳答案

最简单的做法是将 table_atable_b 上的聚合查询结合起来:

SELECT    table_a.*, table_b.last_date
FROM table_a
LEFT JOIN (SELECT link, MAX(last_date) AS last_date
FROM table_b
GROUP BY link) table_b ON table_a.id = table_b.link

关于sql - 需要检索表 A 中的所有记录,并且只检索表 B 中最后更新的一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29988267/

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