一些数据库引擎要求您指定一组使用集合时(求和,计数平均等)
select fld8, fld11, fld12, sum(fld3), fld4
from tbl1, tbl2, tbl3
where fld1=fld5 and fld2=fld6 and fld7=fld8
GROUP BY fld8, fld11, fld12, fld4
或写入以不同的方式
select fld8, fld11, fld12, sum(coalesce(fld3,0)), fld4
from tbl1
INNER JOIN tbl2 on fld1=fld5 and fld2=fld6
INNER JOIN tbl3 on fld7=fld8
GROUP BY fld8, fld11, fld12, fld4
现在都假设你有记录在所有3个表格中。如果情况并非如此,则可能需要使用外连接,并根据引擎在总场或nvl上合并。
所以也许......
SELECT fld8, fld11, fld12, sum(coalesce(fld3,0)), fld4
FROM tbl1
LEFT JOIN tbl2 on fld1=fld5 and fld2=fld6
LEFT JOIN tbl3 on fld7=fld8
GROUP BY fld8, fld11, fld12, fld4
什么是您预期的结果? – 2013-03-12 20:57:32
[踢坏的习惯:使用旧式JOIN](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins。 aspx) - 旧式*逗号分隔的表*样式列表已停止使用ANSI - ** 92 ** SQL标准(** 20年前**!) – 2013-03-12 21:22:19