2016-03-07 41 views
1

这些是我的两张表,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 

IN CASE SAKSHI结果应该是:

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

如果同一铅ID后跟别人,以前transcation不应包含...

即Leadid 101随后madhuri也不过再经过其次是SAKSHI。

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

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

回答

0

您可以使用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改为你想要什么。

+0

谢谢@sagi ....是Adjectly相同,但如果查询我正在寻找用户明智..如果我发送查询SAKSHI只有萨克希主角应该是。 –

+0

@RanjanKumar编辑,它只有一个where子句。 – sagi

+0

上面的代码给出了所有追随者的结果,我想要单独为SAKSHI&MADHURI。 –

相关问题