DB:Sybase 15
Create Table #r2
(ym varchar(10) null,season varchar(10) null,_class varchar(20) null,sku int null,qty int null,qtysale int null,amt numeric(12,2) null,amttag numeric(12,2) null,discount numeric(12,2) null,
qtyall int null,qtyper int null,qtysaleper int null,amtper int null,skuprior int null,qtyprior int null,amtprior int null,nosprice numeric(12,2) null,qtysalepervs numeric(12,2) null,amtpervs numeric(12,2) null)
Insert #r2 (ym,season,_class,sku,qty,qtysale,amt,amttag,discount,qtyall,qtyper,qtysaleper,amtper,skuprior,qtyprior,amtprior,nosprice,qtysalepervs,amtpervs)
Select c.ym,c.season,c._class,c.sku,c.qty,c.qtysale,c.amt,c.amttag,round(c.amt/c.amttag,2) as discount,c.qtyall,c.qtyper,c.qtysaleper,c.amtper,
p.sku as skuprior,p.qty as qtysaleprior,p.amt as amtprior,n.nosprice,round((c.qtysale-p.qty)*100/(p.qty*1.0),2) as qtysalepervs,
round((c.amt-p.amt)*100/p.amt,2) as amtpervs
From #cur c left join#pr p on c.ym=p.ym and c.season=p.season and c._class=p._class
left join #sanos n on c.ym=n.ym and c.season=n.season and c._class=n._class
Select ym,season,_class,sku,qty,qtysale,amt,amttag,discount,qtyall,qtyper,qtysaleper,amtper,skuprior,qtyprior,amtprior,nosprice,qtysalepervs,amtpervs
From #r2 order by _class,ym,season desc
最后返回结果为空
但把 Insert #r2 这行注释掉,执行:
Select c.ym,c.season,c._class,c.sku,c.qty,c.qtysale,c.amt,c.amttag,round(c.amt/c.amttag,2) as discount,c.qtyall,c.qtyper,c.qtysaleper,c.amtper,
p.sku as skuprior,p.qty as qtysaleprior,p.amt as amtprior,n.nosprice,round((c.qtysale-p.qty)*100/(p.qty*1.0),2) as qtysalepervs,
round((c.amt-p.amt)*100/p.amt,2) as amtpervs
From #cur c left join#pr p on c.ym=p.ym and c.season=p.season and c._class=p._class
left join #sanos n on c.ym=n.ym and c.season=n.season and c._class=n._class
是有N行结果的(即使有一行p.amt为null值)。。。
Where's Bug ??
|