求日前一次单价和最近时间
求最近一次单价和最近时间
以下是我写的SQL:
select PTD.品号,PTD.品名,PTD.规格,k.供应商,MAX(PTD.采购单价) AS 最高价格,MIN((PTD.采购单价)) as 最低价格,
(SUM(PTD.采购单价*PTD.采购数量)/SUM(PTD.采购数量)) AS '月加权平均价'
from
(
select TC001 AS '采购单别',TC002 AS '采购单号',TC003 AS '采购日期', MA002 AS '供应商'from PURTC PTC
left join PURMA PMA ON PMA.MA001=PTC.TC004
)k
LEFT JOIN
(
select TD001 AS '采购单别',TD002 AS '采购单号' ,
TD004 AS '品号',TD005 AS '品名',TD006 AS '规格',TD008 AS '采购数量',
TD009 AS '单位',TD010 AS '采购单价',TD033 AS '税率' from PURTD
)PTD
on PTD.采购单号=k.采购单号
GROUP BY PTD.品号,PTD.品名,PTD.规格,k.供应商
想增加两个查询字段,最近单价和最近时间,不知道该怎么写了,请高手指点.
------解决思路----------------------
以下是我写的SQL:
select PTD.品号,PTD.品名,PTD.规格,k.供应商,MAX(PTD.采购单价) AS 最高价格,MIN((PTD.采购单价)) as 最低价格,
(SUM(PTD.采购单价*PTD.采购数量)/SUM(PTD.采购数量)) AS '月加权平均价'
from
(
select TC001 AS '采购单别',TC002 AS '采购单号',TC003 AS '采购日期', MA002 AS '供应商'from PURTC PTC
left join PURMA PMA ON PMA.MA001=PTC.TC004
)k
LEFT JOIN
(
select TD001 AS '采购单别',TD002 AS '采购单号' ,
TD004 AS '品号',TD005 AS '品名',TD006 AS '规格',TD008 AS '采购数量',
TD009 AS '单位',TD010 AS '采购单价',TD033 AS '税率' from PURTD
)PTD
on PTD.采购单号=k.采购单号
GROUP BY PTD.品号,PTD.品名,PTD.规格,k.供应商
想增加两个查询字段,最近单价和最近时间,不知道该怎么写了,请高手指点.
------解决思路----------------------
SELECT T2.*这样应该可以
,T3.TD010 AS '最近单价'
FROM(
SELECT 品号,品名,规格,供应商,MAX(采购单价) AS 最高价格,MIN(采购单价) as 最低价格,
(SUM(采购单价*采购数量)/SUM(采购数量)) AS '月加权平均价',
MAX(采购日期) AS '最近时间'
FROM(
SELECT PTC.TC001 AS '采购单别',PTC.TC002 AS '采购单号',PTC.TC003 AS '采购日期', PMA.MA002 AS '供应商'
,PTD.TD004 AS '品号',PTD.TD005 AS '品名',PTD.TD006 AS '规格'
,PTD.TD008 AS '采购数量',PTD.TD009 AS '单位',PTD.TD010 AS '采购单价',PTD.TD033 AS '税率'
FROM PURTC PTC
JOIN PURMA PMA ON PMA.MA001=PTC.TC004
JOIN PURTD PTD ON PTC.TC002=PTD.TD002
)T1
GROUP BY 品号,品名,规格,供应商
)T2 JOIN(
SELECT PTD.TD004,PTD.TD005,PTD.TD006,PMA.MA002,PTC.TC003,PTD.TD010
FROM PURTC PTC
JOIN PURMA PMA ON PMA.MA001=PTC.TC004
JOIN PURTD PTD ON PTC.TC002=PTD.TD002
)T3 ON T2.品号=T3.TD004 AND T2.品名=T3.TD005 AND T2.规格=T3.TD006 AND T2.供应商=T3.MA002 AND T2.最近时间=T3.TC003