我有以下选择结果
编码(价格)
1.次级方案-再发产品
1.次级方案-志愿人员
2-次级方案-志愿人员
2.次级方案-再转轨
2._
但我想跟着这样的东西,再加一栏,根据最长的年份计算价格,
编码,编码,对应价格,年,ExPrice
/T1391-1997技术技术产品技术方案
/T1451-1998技术产品技术标准100
2-次级方案
2
2
对不起,英语不好,问这个问题的方式也不对。
发布于 2013-08-23 13:00:33
你可以用cross apply和select top 1 ... order by来做
select Code, Price, Year, ExPrice
from TableName T
cross apply (
select top 1 Price
from TableName
where Code = T.Code
order by Year desc
) p(ExPrice)或者row_number和join (无论您喜欢什么):
;with cte as (
select Code, Price as ExPrice, rn = row_number() over (partition by Code order by Year desc)
from TableName
)
select T.Code, Price, Year, ExPrice
from TableName T
join cte on cte.Code = T.Code and cte.rn = 1SQLFiddle sample
发布于 2013-08-23 12:50:42
试着做这样的事情:
SELECT T1.Code, T1.Price, T1.Year, T2.Price
FROM Table T1
INNER JOIN Table T2 ON T1.Code = T2.Code AND
T2.Year = (SELECT MAX(Year) FROM Table WHERE Table.Code = T2.Code)https://stackoverflow.com/questions/18403321
复制相似问题