日期:2014-05-17  浏览次数:20527 次

菜鸟 请教大神一个简单SQL语句问题 下班结帖!
本帖最后由 TravyLee 于 2013-05-02 16:46:47 编辑


 select   
Period,
[Year],  
'' as  AccountGroup, 
Project, 
'' as NaturalCode, 
ACCNT_NAME,  
'' as CostCenter,
sum(Amount) as Amount 
from 
vw_Journal_Inquiry  
WHERE  
(PERIOD BETWEEN '201303' AND '201306') 
And  (Costcenter IN ('0205','020501','020502')) 
group by 
[Year],
Period,
Project, 
ACCNT_NAME 
ORDER BY 
[Year],
Period,
Project, 
ACCNT_NAME


我想根据Project进行分组,一个时间段不能出现重复的project,金额最后也是根据project合计 我想实现最终结果应该是: 这个SQL该咱写??? 请助! Thanks!
 Period   Year   Project 
 201303   2013   100012001
 201303   2013   员工月度费用
 201304   2013   合规有奖问答活动
 201304   2013   员工月度费用
上面SQL查询出来的截图如下:现在有重复的Project

------解决方案--------------------
where Project 不为空嘛。。。。。。

------解决方案--------------------
select distinct Period,[Year],Project from 表
where 条件 and Project 不为空
------解决方案--------------------
group by period 分组试试
------解决方案--------------------
引用:
Quote: 引用:

select distinct Period,[Year],Project from 表
where 条件 and Project 不为空


不是兄弟说的这么回事 现在是要分组不是去重复列

你要改写这个语句
select???Period,[Year],??''?as??AccountGroup,?Project,?''?as?NaturalCode,?ACCNT_NAME,??''?as?CostCenter,sum(Amount)?as?Amount?from?vw_Journal_Inquiry??WHERE??(PERIOD?BETWEEN?'201303'?AND?'201306')?And??(Costcenter?IN?('0205','020501','020502'))?group?by?[Year],Period,Project,?ACCNT_NAME?ORDER?BY?[Year],Period,Project,?ACCNT_NAME
按照 Project 分组?
------解决方案--------------------



 select   
Period,
[Year],  
'' as  AccountGroup, 
Project, 
'' as NaturalCode, 
ACCNT_NAME,  --这里是问题
'' as CostCenter,
sum(Amount)over(partition by Project) as Amount 
from 
vw_Journal_Inquiry  
WHERE  
(PERIOD BETWEEN '201303' AND '201306') 
And  (Costcenter IN ('0205','020501','020502')) 
ORDER BY 
[Year],
Period,
Project, 
ACCNT_NAME