这个sql怎么写

qq_20559257 2014-09-11 11:48:58
select
K.ID,
K.Product_ID,
K.Product_Name,
K.Product_Code,
K.Price,
K.Count,
K.StoreRoomArea,
K.CountRes
from
(
select
ROW_NUMBER() OVER (ORDER BY B.Product_ID desc) AS ID,
B.Product_ID,
A.Product_Name,
A.Product_Code,
isnull(C.Product_Price,F.Price) as Price,
B.StoreRoomArea,
(B.Count-B.SaleLockCount-B.AdjustLockCount-B.WDLockCount-B.BackLockCount-convert(float,B.ReserveCount)) as count,
count(*) over() as CountRes
from dbo.XC_Product A
join
(select * from dbo.XC_StoreRoomProduct where StoreRoomID='0001'and StoreRoomArea='0001-01') B
on A.Product_ID=B.Product_ID
left join
(
select top 1* from dbo.XC_Purchase_Detail D
join XC_Purchase E
on E.pur_order_id=D.order_id
order by pur_CreateDate desc)C
on A.Product_ID=C.Product_ID
left join dbo.XC_ProductPrice F
on A.Product_ID=F.Product_ID
where 1=1
)K where K.ID>20*(1-1) and K.ID<=1*20

价格取xc_purchase最后一次插入的值,如果没值则取XC_ProductPrice 得值
...全文
156 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
--小F-- 2014-09-11
  • 打赏
  • 举报
回复
对啊 什么意思啊?
以学习为目的 2014-09-11
  • 打赏
  • 举报
回复
是优化还是什么意思?如果单纯是 “价格取xc_purchase最后一次插入的值,如果没值则取XC_ProductPrice 得值”直接if判断

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧