这是我的两个表,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/