需要将2个具有外部联接关系的表分组。
select * from Sites
LEFT OUTER JOIN SiteToEmps ON Sites.Id = SiteToEmps.SiteId
GROUP BY Sites.Id
我需要写语法。
答案 0 :(得分:1)
主要技巧是“ group by
列表中包括的任何非聚合列也应包括在select
列表中”例如
SELECT s.Id
FROM Sites s
LEFT OUTER JOIN SiteToEmps e
ON s.Id = e.SiteId
GROUP BY s.Id
答案 1 :(得分:1)
您应该使用GROUP BY
语法在两个表中都包含所有字段。
会是这样的:
select * from Sites
LEFT OUTER JOIN SiteToEmps ON Sites.Id = SiteToEmps.SiteId
GROUP BY Sites.Id, Field2, Field3, Field4
或者您应该编写要包含在GROUP BY
语法中的任何字段,而不是*
。会是这样的:
select Sites.Id from Sites
LEFT OUTER JOIN SiteToEmps ON Sites.Id = SiteToEmps.SiteId
GROUP BY Sites.Id