我得到了一些问题,这个查询我需要我所有的选择器,但我只想组aspnet_Users.Userid
我应该怎么做?选择没有组按Sql
这里是我的查询:
SELECT
aspnet_Users.UserId, aspnet_Users.UserName,
Friends.Verified, Friends.FriendUserId
FROM
[aspnet_Users]
INNER JOIN
Friends ON Friends.UserId = aspnet_Users.UserId OR Friends.FriendUserId = aspnet_Users.UserId
WHERE
aspnet_Users.UserId IN
(SELECT UserId as Id FROM Friends
WHERE FriendUserId='3d1224ac-f2ad-45d4-aa84-a98e748e3e57'
UNION
SELECT FriendUserId as Id FROM Friends
WHERE UserId='3d1224ac-f2ad-45d4-aa84-a98e748e3e57')
GROUP BY
aspnet_Users.UserId, aspnet_Users.UserName,
Friends.Verified, Friends.FriendUserId
存储过程结构:
表 [aspnet_Users]和[网友]
列 [aspnet_Users.UserId],[ aspnet_Users.UserName],[Friends.Verified],[Friends.FriendUserId]
这是我需要使用该程序的数据,但问题是每个用户都可以拥有多个朋友,这意味着如果有的话会有多个朋友值。这就是为什么我不能使用这些值进行分组的原因,因为它给我的发行人带来了错误的价值。
预期输出:
aspnet_Users.UserId(这是朋友的用户ID,请注意,这并不意味着它的FriendUserId)
aspnet_Users.UserName(这是基于上面解释的UserId的朋友的用户名)
Friends.Verified(对或错)验证值在友谊友表)
Friends.FriendUserId(从表友FriendUserId值)
我不明白_why_要组只有用户ID。你能举出一个你想要的结果的例子吗? – 2012-02-15 08:33:10
查看编辑问题 – parek 2012-02-15 08:39:12
我明白,如果你通过aspnet_Users.UserId进行分组,它也将通过aspnet_Users.UserName进行分组。但是,如果不存在聚合函数,则无法分组。我想你想用命令。然而,预期的输出作为例子将有所帮助 – 2012-02-15 08:40:59