繁体   English   中英

关键字“ GROUP”附近的语法不正确-MA

[英]Incorrect syntax near the keyword 'GROUP' - MA

我正在尝试将所有库存移动都放入2015年或2016年的时段。 在我的查询的“从选择”部分中,我可以使用它,但是它为每个项目提供了2行,第一行的数量为2015年,2016年为0,第二行的2015年为0,2016年为数量。 因此,我认为我可以查询select语句并进行分组以获得每个项目一行。 但是我收到“关键字'GROUP'附近的语法不正确”错误。 有人能让我朝着正确的方向前进吗? 该错误发生在From子句之外的第二个Group By上。 谢谢。

SELECT [Item]
    ,[Item Desc]
    ,sum[2015 Usage]
    ,sum[2016 Usage]

FROM (SELECT 
          mtm.[item] 'Item'
          ,im.[description] 'Item Desc'
          ,case when year(convert(varchar(10), convert(date,mtm.[trans_date],1),101))='2015' then sum(mtm.[qty]) else 0 end '2015 Usage'
          ,case when year(convert(varchar(10), convert(date,mtm.[trans_date],1),101))='2016' then sum(mtm.[qty]) else 0 end '2016 Usage'

  FROM [ITEC_App].[dbo].[matltran_mst] mtm, [ITEC_App].[dbo].[item_mst] im

  WHERE
    mtm.[item] = im.[item]
    and
    mtm.[trans_type] NOT IN ('A', 'B', 'C', 'F', 'G', 'H', 'M', 'N', 'R')
    and
    mtm.[ref_type] NOT IN ('P')

  GROUP BY
    mtm.[item]
    ,im.[description]
    ,year(convert(varchar(10), convert(date,mtm.[trans_date],1),101)))

GROUP BY
    [Item]
    ,[Item Desc]

您的子查询如下:

  (
  SELECT . . .
  GROUP BY
    mtm.[item]
    ,im.[description]
    ,year(convert(varchar(10), convert(date,mtm.[trans_date],1),101))
 )

在SQL Server中,所有子查询都需要一个表别名。 因此,您只需要添加一个:

  (
  SELECT . . .
  GROUP BY
    mtm.[item]
    ,im.[description]
    ,year(convert(varchar(10), convert(date,mtm.[trans_date],1),101))
 ) i

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM