-3
事件我有几桌SQL让你的朋友出席
User (UserId)
Event (EventId)
AttendingEvent (UserId,EventId)
Friends (UserId,UserId)
我想编写一个查询,可以返回,其中一个特定的用户,我知道ID事件事先有朋友说会参加这次活动的订购人数最多的朋友参加。
事件我有几桌SQL让你的朋友出席
User (UserId)
Event (EventId)
AttendingEvent (UserId,EventId)
Friends (UserId,UserId)
我想编写一个查询,可以返回,其中一个特定的用户,我知道ID事件事先有朋友说会参加这次活动的订购人数最多的朋友参加。
这应该可以做到。在未来尝试首先进行一些研究,或者至少展示一些尝试以避免降低成本的解决方案。如果有帮助,请标记为答案。
这将返回您的朋友参加的活动,按好友参加的次数排列。
WITH TheEventsCounted as (SELECT EventId, Count(UserId) FROM AttendingEvent WHERE UserId IN
(SELECT * FROM Friends WHERE MyUserId = @ID)
GROUP BY EventId)
SELECT * FROM Event
WHERE EventId IN TheEventsCounted
ORDER BY Num
“我想写一个查询” - 什么阻止你?你有什么尝试? – 2012-03-11 01:55:17