我在2表之间有以下关系。
两个表之间存在多对多的关系。(BigGroups中有2个外键指向表组中的GroupId)
SELECT GroupName FROM Groups where GroupId IN
(SELECT bg.AssociatedGroupId
FROM BigGroups bg INNER JOIN Groups g ON bg.GroupId=g.GroupId
WHERE bg.GroupId=@GroupId)
此查询返回了我正在寻找的内容,但我相信可能有更好的方法(更好的性能)。或许我应该改变关系?
答案 0 :(得分:0)
如果我已经正确阅读,那么您正在为@GroupId参数寻找AssociatedGroups的GroupName?这是一个更简洁的查询来实现同样的目的。
SELECT g.GroupName
FROM BigGroups bg
INNER JOIN Groups g ON g.GroupId = bg.AssociatedGroupId
WHERE bg.GroupId = @GroupId
这种关系没有错,虽然我认为它是1对多的; 1个组可以有零个或多个关联组。