关于关联表之间的问题
假设现在有三张表:
p_Project(项目信息表) p_Building(楼栋信息表) p_Room(房间信息表)
关系大家应该都懂
现在我要查询p_Room表的信息,按照实际业务来看应该怎么去关联
SELECT *
FROM dbo.p_Room r
INNER JOIN dbo.p_Building b ON b.BldGUID = r.BldGUID
INNER JOIN dbo.p_Project p ON b.ProjGUID = p.ProjGUID
SELECT *
FROM dbo.p_Project p
INNER JOIN dbo.p_Building b ON b.ProjGUID=p.ProjGUID
INNER JOIN dbo.p_Room r ON r.BldGUID = b.BldGUID
这两种哪种更符合业务逻辑,避免后期更多关联是出现数据不准确情况
------解决方案--------------------
对,有重复记录,那么会关联2次,于是直接求sum,就会得到重复值,所以偏大了。
------解决方案--------------------
因为B表的a列重复了,可能需要把B作为子查询得出数据集之后再sum
会不会是因为B表先是和A表关联,然后又和C表关联,所以累计求和了两次啊?
是的,所以我说可能要考虑用子查询来去重再关联再计算