34,587
社区成员
发帖
与我相关
我的任务
分享
;with C
as
(
select
a.orderId,
isnull(sum(b.Amount),0) 金额,
SUM(b.num) 总数量,
COUNT(b.proId)型号数,
p.pro_name 商品名称,
d.proImg 图片,
a.orderdate,
rid=row_number() over (order by getdate())
from myOrders a
inner join orderDetails b on b.orderId=a.orderId
inner join (select orderid,proid from orderDetails where itemNo=1 ) c on c.orderId=b.orderId
inner join (select Pro_ID,Pro_Name from Product) p on p.Pro_ID=c.proId
inner join (select proid,proImg from proImage where itemno=1) d on d.proId=c.proId
where a.loginid=@loginId and (a.orderdate between @startDate and @endDate) and (a.[status]=4 or a.[status]=5) and price<>0
group by a.orderId,c.proId,p.Pro_Name,d.proImg
)
select
*,
[应收应付]=isnull((select sum(应收应付变化) from C where rid<>1 and rid <= t.rid),0)
from C t
select a.orderId,
(select isnull(sum(b.Amount),0)) 金额,
(select isnull(sum(b.Amount),0)) 应收应付变化,
(select SUM(b.num)) 总数量,
(select COUNT(b.proId))型号数,
p.pro_name 商品名称,
d.proImg 图片,
rid=identity(int,1,1)
into #tb
from myOrders a
inner join orderDetails b on b.orderId=a.orderId
inner join (select orderid,proid from orderDetails where itemNo=1 ) c on c.orderId=b.orderId
inner join (select Pro_ID,Pro_Name from Product) p on p.Pro_ID=c.proId
inner join (select proid,proImg from proImage where itemno=1) d on d.proId=c.proId
where a.loginid=@loginId and (a.orderdate between @startDate and @endDate)
and (a.[status]=4 or a.[status]=5) and price<>0
group by a.orderId,c.proId,p.Pro_Name,d.proImg
select *,
[应收应付] = isnull((select sum(应收应付变化) from #tb where rid <> 1 and rid <= t.rid),0)
from #tb t
;with C
as
(
select
a.orderId,
isnull(sum(b.Amount),0) 金额,
SUM(b.num) 总数量,
COUNT(b.proId)型号数,
p.pro_name 商品名称,
d.proImg 图片,
a.orderdate
from myOrders a
inner join orderDetails b on b.orderId=a.orderId
inner join (select orderid,proid from orderDetails where itemNo=1 ) c on c.orderId=b.orderId
inner join (select Pro_ID,Pro_Name from Product) p on p.Pro_ID=c.proId
inner join (select proid,proImg from proImage where itemno=1) d on d.proId=c.proId
where a.loginid=@loginId and (a.orderdate between @startDate and @endDate) and (a.[status]=4 or a.[status]=5) and price<>0
group by a.orderId,c.proId,p.Pro_Name,d.proImg
)
select
*,
[应收应付变化]=(select sum(金额) from C where proId=a.proId and orderdate<=a.orderdate)
from C as a