| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 278 人关注过本帖
标题:求一SQL SERVER语句
收藏  订阅  推荐  打印 
whzdp
Rank: 1
等级:新手上路
帖子:1
积分:110
注册:2008-8-16
求一SQL SERVER语句

求一SQL SERVER语句


TblMess客户表
MessNo      Mess
001         客户A
002         客户B
003     客户C
SsTable(销售发货表)
SsNo               SsDate       Mess       Makeorder
Ss0808-008        2008-8-1      客户A   Admin

SsList(销售发货明细表)   
SsNo        WareNo     WareName    Unit   Quantity    Price   Money
Ss0808-008   F01        内存条      条       2         130     260
Ss0808-008   F02         光驱       台       8         120     960

SrTable(销售退货)
SrNo           SrDate         Mess         MakeOrder
SR0808-001     2008-8-10      客户A    Admin

SrList(销售退货明细表)
SrNo         SsNo       SsDate   WareNo WareName Unit Quantity  Price      Money
Sr0808-001 Sr0808-008   2008-8-1   F01  内存条    条    1       130        130



我要的结果是这样的
MessNo    Mess   SaleTotalMoney  SaleReturnMoney   LastTotalMoney   
001      客户A    1220                 130             1090
002      客户B    0                     0               0
003      客户C  0                     0               0  
搜索更多相关主题的帖子: SERVER  SQL  语句  
2008-8-16 10:35
qazzwj
Rank: 1
等级:新手上路
帖子:8
积分:180
注册:2008-8-16

declare @TblMess table(MessNo char(3),Mess char(20))
declare @SsTable table(SsNo char(20),Mess char(20))
declare @SsList table(SsNo char(20),Quantity smallint,Price int,Money int)
declare @SrTable table(SrNo char(20),SsNo char(20),Mess char(20))
declare @SrList table(SrNo char(20),SsNo char(20),Quantity smallint,Price int,Money int)

insert into @TblMess values('001','客户A')
insert into @TblMess values('002','客户B')
insert into @TblMess values('003','客户C')

insert into @SsTable values('Ss0808-008','客户A')

insert into @SsList values('Ss0808-008',2,130,260)
insert into @SsList values('Ss0808-008',8,120,960)

insert into @SrTable values('SR0808-001','Ss0808-008','客户A')

insert into @SrList values('SR0808-001','Ss0808-008',1,130,130)

select a.MessNo,a.Mess,isnull(e.SaleTotalMoney,0)SaleTotalMoney,isnull(f.SaleReturnMoney,0) SaleReturnMoney,isnull(e.SaleTotalMoney-f.SaleReturnMoney,0) LastTotalMoney
from @TblMess a left join @SsTable b on a.Mess=b.Mess
                left join (select SsNo,SUM(Money) SaleTotalMoney from @SsList group by SsNo)e on b.SsNo=e.SsNo
                left join (select d.SsNo,d.Money SaleReturnMoney from @SrTable c join @SrList d on c.SrNo=d.SrNo) f on b.SsNo=f.SsNo
                order by a.MessNo
2008-8-16 15:53
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.048823 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved