日期:2014-05-18  浏览次数:20411 次

求一SQL函数,高手请进!在线等
表tbHU中有以下数据:xxxx为所求
HUCode     Amount     LineNo     CostCtrCde

N0001       1200             1               001
N0001         200             2               002
N0001       xxxx             3               001         --这里的xxxx取LineNo=1的Amount即1200        
N0001       xxxx             4               002         --同理,这里的xxxx取LineNo=2的Amount
--以上为第一种情况的数据LineNo连续,已知Amount的CostCtrCde不相同
N0002         200             1               001
N0002         300             3               002
N0002         500             4               003
N0002       xxxx             5               001
N0002       xxxx             6               002
N0002       xxxx             7               003
--以上为第二种情况的数据LineNo不连续,已知Amount的CostCtrCde不相同
N0003       1300             1               001
N0003         200             2               001
N0003         300             3               002
N0003         500             4               003
N0003       xxxx             5               001     --这里的xxxx取LineNo=1与LineNo=2的Amount的和
N0003       xxxx             6               002
N0003       xxxx             7               003
--以上为第三种情况的数据LineNo不连续,已知Amount的CostCtrCde有相同

函数要求   参数为HUCode,LineNo。
求高手指点!

------解决方案--------------------
LineNo?行号?
------解决方案--------------------
说实话 我没明白LZ意思...
select sum(Amount) from table1
where HUCode=@HUCode and
CostCtrCde=(select CostCtrCde from table1 where [LineNo]=@LineNo and HUCode=@HUCode)

按字面来说 这样不就可以了?
------解决方案--------------------
看的比较晕。。不太明白啥意思``
------解决方案--------------------
create table test(HUCode varchar(10),Amount int,[LineNo] int,CostCtrCde varchar(5))
insert test select 'N0001 ',1200,1, '001 '
insert test select 'N0001 ',200,2, '002 '
insert test select 'N0001 ',0,3, '001 '
insert test select 'N0001 ',0,4, '002 '