2010-11-08 49 views
0

我有一個會話表SELECT銷售由用戶對

UserId SessionId 
    1   a 
    2   a 
    1   b 
    4   b 
    2   c 
    3   c 

而另一位銷售表,其中銷售綁在SessionID。我想通過Session表中唯一的用戶對獲得銷售額,而無需使用遊標。

+0

您能否包含來自銷售表和預期產出的樣本數據? – 2010-11-08 16:37:25

+0

你想看看每個可能的用戶組合嗎? – JNK 2010-11-08 16:37:34

+0

@JNK:並非每種可能的組合,只是已經存在於Session表中的組合。 – Fiur 2010-11-08 16:43:58

回答

1
SELECT ss1.userid, ss2.userid, SUM(sales) 
FROM session ss1 
JOIN session ss2 
ON  ss2.sessionid = ss1.sessionid 
     AND ss2.userid < ss1.userid 
JOIN sales s 
ON  s.sessionid = ss1.sessionid 
GROUP BY 
     ss1.userid, ss2.userid