一部のデータベース エンジンでは、集計 (sum、count avg など) を使用するときにグループを指定する必要があります。
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