繁体   English   中英

根据对另一个表的查询从一个表中检索最后一个条目

[英]Retrieve last entry from one table based on query on another

我无法根据对另一个表的查询从一个表中检索最新记录。 我找到了许多类似“为每个客户订购的最后产品”类比的解决方案,但它们并不完美。

我有两个包含使用字段dailyrecno_i链接的记录的表。 我想检索链接到此键的表 2 中的最后一个条目。

表格和所需的输出如下,任何建议表示赞赏。

在此处输入图片说明

这是来自 MS SQL 但这应该给你一个想法。 请注意,我只从您的示例数据中复制了您想要的输出,所以我不确定是否有任何我遗漏的条件。

SELECT  [@table1].dailyrecno_i ,
    MAX([moc_noteno_i]) ,
    header ,
    MAX([text])
FROM    @table1
    LEFT JOIN @table2 ON [@table1].dailyrecno_i = [@table2].dailyrecno_i
GROUP BY [@table1].dailyrecno_i ,
    header;

我想这就是答案:

SELECT t1.dailyrecno_i, t2temp.moc_noteno_i, t1.header, t2temp.text from table1 t1 inner join (SELECT a.* 
FROM table2 a
INNER JOIN (
    SELECT dailyrecno_i, MAX(moc_noteno_i) moc_noteno_i
    FROM table2
    GROUP BY dailyrecno_i 
) b ON a.dailyrecno_i = b.dailyrecno_i AND a.moc_noteno_i = b.moc_noteno_i) t2temp 
on t1.dailyrecno_i = t2temp.dailyrecno_i group by t2temp.dailyrecno_i;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM