的號碼,我有3個表:
T_USER(ID,姓名) t_user_deal(ID,USER_ID,DEAL_ID) t_deal(ID,標題)查詢計數獨特的關係
多個用戶可以鏈接到同樣的交易。 (我使用的是oracle,但它應該是類似的,我可以適應它)
我如何獲得所有用戶(姓名)與他做出處理的唯一用戶的數量。
讓我們用一些數據說明:
t_user:
id, name
1, joe
2, mike
3, John
t_deal:
id, title
1, deal number 1
2, deal number 2
t_user_deal:
id, user_id, deal_id
1, 1, 1
2, 2, 1
3, 1, 2
4, 3, 2
結果我想到: USER_NAME,獨特的用戶的數量,他做了處理 喬,2 麥克,1 約翰,1
我試過但我沒有得到預期的結果:
SELECT tu.name,
count(tu.id) AS nbRelations
FROM t_user tu
INNER JOIN t_user_deal tud ON tu.id = tud.user_id
INNER JOIN t_deal td ON tud.deal_id = td.id
WHERE
(
td.id IN
(
SELECT DISTINCT td.id
FROM t_user_deal tud2
INNER JOIN t_deal td2 ON tud2.deal_id = td2.id
WHERE tud.id <> tud2.user_id
)
)
GROUP BY tu.id
ORDER BY nbRelations DESC
感謝您的幫助
太謝謝你了。 – user1370289