这是我的两个表,Leadid是主键。

表1-(主)

Leadid  Customer Name
101     Ramesh Kumar
102     Rajan Kumar
103     Rahul Kumar


表2-(交易)

id  Leadid  Followed_by
1   101     SAKSHI
2   101     MADHURI
3   101     SAKSHI
4   102     SAKSHI
5   102     MADHURI
6   103     SAKSHI
7   103     SAKSHI


问题:我需要一个通用查询,在该查询中,我将仅更改关注者名称和

万一MADHURI结果应为:

102        Rajan Kumar     5   102     MADHURI


对于SAKSHI结果,应为:

101     Ramesh Kumar      3     101     SAKSHI
103     Rahul Kumar       7     103     SAKSHI


如果其他人跟随相同的线索ID,则不应包括以前的交易...

在Leadid 101之后是madhuri,但之后是SAKSHI。

因此在对MADHURI进行查询时不应显示它。

http://sqlfiddle.com/#!9/a4fbb

最佳答案

您可以使用NOT EXISTS()实现此结果,如下所示:

SELECT s.*,t.* FROM Table1 s
INNER JOIN Transaction t
 ON(t.leadid = s.leadid)
WHERE NOT EXISTS(SELECT 1 FROM Transaction tt
                 WHERE t.leadid = tt.leadid
                   AND t.id < tt.id)
 AND t.followed_by = 'SAKASHI'


如果您想要其他人,请将SAKASHI更改为您想要的。

关于mysql - 使用联接到每个主表行的最新行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35839016/

10-12 04:59