您的位置:首页 > 数据库

一条sql语句,不知道怎么写啦

2007-06-08 00:11 288 查看



--SELECT * FROM BS_GoodsInfo 商品信息


--GO


--SELECT * FROM BS_Customer 客户信息


--GO


--SELECT * FROM BS_DisSaleSystem 特价促销价格体系


--GO


--SELECT * FROM BS_DisPriceType 特价促销价格体系类别


--GO


--SELECT * FROM BS_DisSaleGoods 特价促销价格体系商品


--GO


--select * from BS_ConPriceSystem 客户合同价格体系表


--go


--select * from BS_ConPriceType


--go


--select * from BS_ConPriceGoods 客户合同价格体系商品




--go


DECLARE @iSDisPrice as int --这个是为了判断是不是有促销价格


DECLARE @iSConPrice as int --这个是为了判断是不是有合同价格


declare @DisPriceDate as int --这个是为了标志是不是在这个时间范围里.


declare @BeforePrice as int --这个是为了判断是不是上一次价格


--这里判断是不是有促销价格


SET @iSDisPrice = (SELECT COUNT(*) FROM BS_DisSaleSystem where CustID = '8566363' AND CompanyID = '0111102')


if @iSDisPrice > 0


begin


--这里判断在这个时间里是不是有促销价格


set @DisPriceDate = (select count(*) from BS_DisPriceType where TypeCode in (SELECT TypeCode FROM BS_DisSaleSystem where CustID = '8566363' AND CompanyID = '002') and CompanyID = '002' and frmdate <= getdate() and getdate()<= ToDate )


if @DisPriceDate > 0


begin


--SELECT * FROM BS_DisSaleGoods where CompanyID = '002' and TypeCode in (select TypeCode from BS_DisPriceType where TypeCode in (SELECT TypeCode FROM BS_DisSaleSystem where CustID = '8566363' AND CompanyID = '002') and CompanyID = '002' and frmdate <= getdate() and getdate()<= ToDate )


SELECT isnull(a.conPrice,0) as Price, * from View_dSaleBill INNER JOIN (SELECT * FROM BS_DisSaleGoods where CompanyID = '002' and TypeCode in (select TypeCode from BS_DisPriceType where TypeCode in (SELECT TypeCode FROM BS_DisSaleSystem where CustID = '8566363' AND CompanyID = '002') and CompanyID = '002' and frmdate <= getdate() and getdate()<= ToDate )) A ON A.CompanyID = View_dSaleBill.CompanyID and a.GoodsID = View_dSaleBill.GoodsID and View_dSaleBill.companyId = '002'


-- goto dis_goto


end


end


else


begin


--这里判断是不是有合同价格


SET @iSConPrice = (SELECT COUNT(*) FROM BS_ConPriceSystem where CustID = '8566363' AND CompanyID = '002')


if @iSConPrice > 0


begin




/**//* 1. 不知道怎么在这里排出促销价格的商品 */


--这里是取出它的合同价格出来,


--select * from BS_ConPriceType where TypeCode in (SELECT TypeCode FROM BS_ConPriceSystem where CustID = '8566363' AND CompanyID = '002') and CompanyID = '002'


select isnull(b.conPrice,0) as Price,* from View_dSaleBill INNER JOIN (SELECT * FROM BS_ConPriceGoods where typeCode in (select typeCode from BS_ConPriceSystem where companyID = '002' and custId = '8566363') and companyID = '002') as b on b.CompanyId = View_dSaleBill.CompanyId and b.goodsId = View_dSaleBill.goodsId where b.companyId = '002'


--print @iSConPrice


end


else


begin




/**//* 2. 不知道怎么在这里排出促销价格及的合同价格商品 */


--这里取出自定议上次价格


set @BeforePrice = (select count(sBillNo) as sBillNo from bs_SaleBill where CustID = '8566363' and companyID = '002')


if @BeforePrice > 0


begin


select c.NoTaxPrice as Price,* from View_dSaleBill inner join (SELECT NoTaxPrice,GoodsID,CompanyId FROM bs_dSaleBill where companyId = '002' and sBillNo = (select max(sBillNo) as sBillNo from bs_SaleBill where CustID = '8566363' and companyID = '002') and GoodsID = '002' ) as c on c.CompanyId = View_dSaleBill.CompanyId and c.GoodsId = View_dSaleBill.GoodsId and View_dSaleBill.CompanyId = '002'


end


else




/**//*3. 不知道怎么在这里排出促销价格,合同价格商品,上次输入价格 */


--这里的价格为0


begin


select '0' as Price,* from View_dSaleBill inner join (SELECT NoTaxPrice,GoodsID,CompanyId FROM bs_dSaleBill where companyId = '002' and sBillNo = (select max(sBillNo) as sBillNo from bs_SaleBill where CustID = '8566363' and companyID = '002') and GoodsID = '002' ) as c on c.CompanyId = View_dSaleBill.CompanyId and c.GoodsId = View_dSaleBill.GoodsId and View_dSaleBill.CompanyId = '002'


end


end


end


--dis_goto: SELECT isnull(a.conPrice,0) as Price, * from View_dSaleBill INNER JOIN (SELECT * FROM BS_DisSaleGoods where CompanyID = '002' and TypeCode in (select TypeCode from BS_DisPriceType where TypeCode in (SELECT TypeCode FROM BS_DisSaleSystem where CustID = '8566363' AND CompanyID = '002') and CompanyID = '002' and frmdate <= getdate() and getdate()<= ToDate )) A ON A.CompanyID = View_dSaleBill.CompanyID and a.GoodsID = View_dSaleBill.GoodsID


--select isnull(b.conPrice,0), * from View_dSaleBill INNER JOIN (SELECT * FROM BS_ConPriceGoods where typeCode in (select typeCode from BS_ConPriceSystem where companyID = '002' and custId = '8566363') and companyID = '002') as b on b.CompanyId = View_dSaleBill.CompanyId and b.goodsId = View_dSaleBill.goodsId where b.companyId = '002'


--取出自定议上次价格


--select c.NoTaxPrice as Price,* from View_dSaleBill inner join (SELECT NoTaxPrice,GoodsID,CompanyId FROM bs_dSaleBill where companyId = '002' and sBillNo = (select max(sBillNo) as sBillNo from bs_SaleBill where CustID = '8566363' and companyID = '002') and GoodsID = '002' ) as c on c.CompanyId = View_dSaleBill.CompanyId and c.GoodsId = View_dSaleBill.GoodsId and View_dSaleBill.CompanyId = '002'



现在就是在每一次
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: