SELECT     a.ID, a.Code, a.Organization, a.EvaluateReason, a.ProcessPosts, a.OperationName, a.DocState, a.MakeDate, a.Maker, a.SubmitDate, a.Submiter, 
                      a.IsSubmitMD, '0' AS Doctype, b_3.ItemsCount,b_3.Name
FROM         dbo.DSourceCreateDocs AS a LEFT OUTER JOIN
(SELECT     b.ID, COUNT(a.ID) AS ItemsCount,u.Name 出错行
                            FROM          dbo.DSourceCreateDocs AS b LEFT OUTER JOIN
                                                   dbo.DSourceCreateItems AS a ON a.Parent = b.ID
                                                   left outer join 
                                                   dbo.Users as u on b.Maker = u.ID
                            GROUP BY b.ID) AS b_3 ON a.ID = b_3.ID
错误信息:
------------------------------------------------------------------------------------------------------
消息 8120,级别 16,状态 1,第 4 行
选择列表中的列 'dbo.Users.Name' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。

解决方案 »

  1.   

    SELECT     b.ID, COUNT(a.ID) AS ItemsCount,u.Name 出错行
                                FROM          dbo.DSourceCreateDocs AS b LEFT OUTER JOIN
                                                       dbo.DSourceCreateItems AS a ON a.Parent = b.ID
                                                       left outer join 
                                                       dbo.Users as u on b.Maker = u.ID
                                GROUP BY b.ID,u.Name
      

  2.   

    说了没包括,你就给加到GROUP BY 后面啊
      

  3.   

    SELECT     b.ID, COUNT(a.ID) AS ItemsCount,u.Name 出错行
                                FROM          dbo.DSourceCreateDocs AS b LEFT OUTER JOIN
                                                       dbo.DSourceCreateItems AS a ON a.Parent = b.ID
                                                       left outer join 
                                                       dbo.Users as u on b.Maker = u.ID
                                GROUP BY b.ID,u.Name