SQL查询中的多个联接

Kim*_*nce 2 sql sql-server sql-server-2008

表A和表B之间有一对多,表B和表C之间也有一对多.我需要列出表B中的所有记录,以及表A中的父表和特定字段的总和(). C.我怎么能这样做?

我认为它是这样的:

SELECT A.fldlist, 
       B.fldlist, 
       SUM(C.field)
  FROM A 
  INNER JOIN B ON A.key = b.FK 
  LEFT OUTER JOIN C on B.key = C.FK
  GROUP BY B.field
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?非常感激...

Joe*_*lli 5

关闭,但您需要按SELECT中的所有非聚合列进行分组.

SELECT A.fldlist, 
       B.fldlist, 
       SUM(C.field)
  FROM A 
  INNER JOIN B ON A.key = b.FK 
  LEFT OUTER JOIN C on B.key = C.FK
  GROUP BY A.fldlist, B.fldlist
Run Code Online (Sandbox Code Playgroud)