日期:2014-05-17 浏览次数:20602 次
--CREATE TABLE huang(事项 VARCHAR(10), 单价 DECIMAL(9,2), 日期 DATE)
--INSERT INTO huang
--SELECT 'A001', 2 , '2012-07-01'
--UNION ALL
--SELECT 'A001' , 2.5 , '2012-11-12'
--UNION ALL
--SELECT 'A001' , 2.8 , '2012-11-14'
--UNION ALL
--SELECT 'B001' , 1.5 , '2012-08-16'
--UNION ALL
--SELECT 'B001' , 1.5 , '2012-09-17'
--UNION ALL
--SELECT 'C001' , 1 , '2012-09-20'
WITH huang2 AS (
SELECT 事项,MAX(日期 )最大日期,MIN(日期)最小日期
FROM huang
GROUP BY 事项)
SELECT a.事项 ,MAX(CASE WHEN a.最小日期=b.日期 THEN 单价 END) 期初单价,MAX(CASE WHEN a.最大日期=b.日期 THEN 单价 END) 期末单价
FROM huang2 a INNER JOIN huang b ON a.事项=B.事项
GROUP BY a.事项
/*
事项 期初单价 期末单价
---------- --------------------------------------- ---------------------------------------
A001 2.00 2.80
B001 1.50 1.50
C001 1