select b.price,a.rq from ( SELECT 编码,max(日期)rq FROM Ven_Inv_Price )a inner join Ven_Inv_Price b on a.编码=b.编码 and a.cInvCode = b.cInvCode where a.cInvCode='305002010001'
select * from (SELECT 编码,单价,日期,rn=ROW_NUMBER() over(Order by 日期 desc) FROM Ven_Inv_Price WHERE cInvCode='305002010001' )t where rn=1或者 SELECT a.编码,a.单价,a.日期 FROM Ven_Inv_Price a inner join (SELECT max(日期) as 日期 FROM Ven_Inv_Price WHERE cInvCode='305002010001')b on a.日期=b.日期 WHERE a.cInvCode='305002010001'
SELECT top 1 编码,单价,日期 FROM Ven_Inv_Price WHERE cInvCode='305002010001' order by 日期 desc 这样行不行
SELECT 编码,单价,max(日期) as rq FROM Ven_Inv_Price WHERE cInvCode='305002010001' group by 编码,单价 这个明显不好, 因为单价不同,会出来多个记录,实际上我只能允许单个记录
select top 1 * from (SELECT 编码,单价,日期,rn=ROW_NUMBER() over(Order by 日期 desc) FROM Ven_Inv_Price WHERE cInvCode=@cInvCode --@cInvCode为外部传进来的参数 )t order by rn
实际的例子是 SELECT 编码,单价,日期 FROM Ven_Inv_Price 没有WHERE 这个条件,但又要求查询出来的结果又必须 按照 最近的日期来显示
实际的例子是 SELECT 编码,单价,日期 FROM Ven_Inv_Price 没有WHERE 这个条件,但又要求查询出来的结果又必须 按照 最近的日期来显示那是这样吗:SELECT top 1 编码,单价,日期) FROM Ven_Inv_Price Order by 日期 desc
SELECT 编码,单价,max(日期) as rq FROM Ven_Inv_Price WHERE cInvCode='305002010001' group by 编码,单价 这个明显不好, 因为单价不同,会出来多个记录,实际上我只能允许单个记录select a.编码,a.单价, a.日期 from Ven_Inv_Price a ,(SELECT 编码,max(日期) as rq FROM Ven_Inv_Price WHERE cInvCode='305002010001'group by 编码) bwhere a.编码=b.编码 and a.日期=b.rq
SELECT 编码,单价,max(日期) as rq FROM Ven_Inv_Price WHERE cInvCode='305002010001' group by 编码,单价 这个明显不好, 因为单价不同,会出来多个记录,实际上我只能允许单个记录select a.编码,a.单价, a.日期 from Ven_Inv_Price a ,(SELECT 编码,max(日期) as rq FROM Ven_Inv_Price WHERE cInvCode='305002010001'group by 编码) bwhere a.编码=b.编码 and a.日期=b.rq
(
SELECT 编码,max(日期)rq FROM Ven_Inv_Price
)a inner join Ven_Inv_Price b on a.编码=b.编码 and a.cInvCode = b.cInvCode
where a.cInvCode='305002010001'
select *
from (SELECT 编码,单价,日期,rn=ROW_NUMBER() over(Order by 日期 desc) FROM Ven_Inv_Price WHERE cInvCode='305002010001'
)t
where rn=1或者
SELECT a.编码,a.单价,a.日期
FROM Ven_Inv_Price a
inner join (SELECT max(日期) as 日期 FROM Ven_Inv_Price WHERE cInvCode='305002010001')b
on a.日期=b.日期
WHERE a.cInvCode='305002010001'
SELECT 编码,单价,max(日期) as rq FROM Ven_Inv_Price WHERE cInvCode='305002010001'
group by 编码,单价
这个明显不好, 因为单价不同,会出来多个记录,实际上我只能允许单个记录
from (SELECT 编码,单价,日期,rn=ROW_NUMBER() over(Order by 日期 desc)
FROM Ven_Inv_Price WHERE cInvCode=@cInvCode --@cInvCode为外部传进来的参数
)t
order by rn
FROM Ven_Inv_Price
Order by 日期 desc
SELECT 编码,单价,max(日期) as rq FROM Ven_Inv_Price WHERE cInvCode='305002010001'
group by 编码,单价
这个明显不好, 因为单价不同,会出来多个记录,实际上我只能允许单个记录select a.编码,a.单价, a.日期 from Ven_Inv_Price a ,(SELECT 编码,max(日期) as rq FROM Ven_Inv_Price WHERE cInvCode='305002010001'group by 编码) bwhere a.编码=b.编码 and a.日期=b.rq
SELECT 编码,单价,max(日期) as rq FROM Ven_Inv_Price WHERE cInvCode='305002010001'
group by 编码,单价
这个明显不好, 因为单价不同,会出来多个记录,实际上我只能允许单个记录select a.编码,a.单价, a.日期 from Ven_Inv_Price a ,(SELECT 编码,max(日期) as rq FROM Ven_Inv_Price WHERE cInvCode='305002010001'group by 编码) bwhere a.编码=b.编码 and a.日期=b.rq
应该是可以的, 估计编码一样,日期一样,单价不同这种可能性很小