根据另一个

时间:2017-07-18 16:06:58

标签: mysql sql greatest-n-per-group

我无法根据另一个表上的查询从一个表中检索最新记录。我发现很多解决方案都是使用“为每个客户订购的最后产品”的类比,但它们并不完美。

我有两个表,其中记录使用字段dailyrecno_i进行链接。我想检索链接到此密钥的表2中的最后一个条目。

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

enter image description here

2 个答案:

答案 0 :(得分:0)

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

communicate()

答案 1 :(得分:0)

我认为这就是答案:

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;