我试图将我所有的库存移动都放入2015或2016桶。在我选择的查询部分中,我开始工作,但它为我提供了两行,每个项目在2015年有数量,2016年为0,2015年为0,2016年为第二行。所以我想我可以查询select语句和group来为每个项目获取一行。但是我收到了“关键字'GROUP'附近的语法错误”错误。有人能让我朝着正确的方向前进吗?错误发生在第二个Group By From子句之外。谢谢。关键字'GROUP'附近的语法不正确 - MA
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]
您需要子查询的别名 –
@juergend是正确的。在三个右括号之后并在最后一个组之前添加一个“x” – Bohemian