create view v_po_maximo_mfg
as
select pl.ponum ,pl.polinenum 采购单行号,po.vendor,ltrim(STR(MONTH(po.orderdate)))+'/'+ltrim(str(DAY(po.orderdate)))+'/'+ltrim(str(YEAR(po.orderdate))),
pl.storeloc,pl.orderqty ,pl.orderunit,pl.unitcost,pl.orderqty*pl.unitcost,
pl.itemnum,left(i.description,((charindex('///',i.description))-1)),
substring(i.description,((charindex('///',i.description))+3),len(i.description)),
pl.tax1code,ltrim(STR(MONTH(pl.reqdeliverydate)))+'/'+ltrim(str(DAY(pl.reqdeliverydate)))+'/'+ltrim(str(YEAR(pl.reqdeliverydate))),'40502','Y','01'
from poline pl left join po po on pl.ponum=po.ponum
left join item i on pl.itemnum=i.itemnum
as
select pl.ponum ,pl.polinenum 采购单行号,po.vendor,ltrim(STR(MONTH(po.orderdate)))+'/'+ltrim(str(DAY(po.orderdate)))+'/'+ltrim(str(YEAR(po.orderdate))),
pl.storeloc,pl.orderqty ,pl.orderunit,pl.unitcost,pl.orderqty*pl.unitcost,
pl.itemnum,left(i.description,((charindex('///',i.description))-1)),
substring(i.description,((charindex('///',i.description))+3),len(i.description)),
pl.tax1code,ltrim(STR(MONTH(pl.reqdeliverydate)))+'/'+ltrim(str(DAY(pl.reqdeliverydate)))+'/'+ltrim(str(YEAR(pl.reqdeliverydate))),'40502','Y','01'
from poline pl left join po po on pl.ponum=po.ponum
left join item i on pl.itemnum=i.itemnum
订单号, --行号2
订单行号,
供应商,
订货日期,
仓库,
采购数量,
采购单位,
单价,
总成本,
备件描述1,
备件描述2,
税代码,
到货日期,
总账科目,
纳税,
纳税类型 --行号17
)as
select
pl.ponum, --行号20
pl.polinenum 采购单行号,
po.vendor,
ltrim(STR(MONTH(po.orderdate)))+'/'+ltrim(str(DAY(po.orderdate)))+'/'+ltrim(str(YEAR(po.orderdate))),
pl.storeloc,
pl.orderqty,
pl.orderunit,
pl.unitcost,
pl.orderqty*pl.unitcost,
pl.itemnum,
left(i.description,((charindex('///',i.description))-1)),substring(i.description,
((charindex('///',i.description))+3),len(i.description)),
pl.tax1code,
ltrim(STR(MONTH(pl.reqdeliverydate)))+'/'+ltrim(str(DAY(pl.reqdeliverydate)))+'/'+ltrim(str(YEAR(pl.reqdeliverydate))),
'40502',
'Y',
'01' --行号36
from poline pl left join po po on pl.ponum=po.ponum
left join item i on pl.itemnum=i.itemnum
很显然
视图定义的列的起止等号相减: 17- 2=15
而后面的 select 中列的起止等号相减:36-20=16两个当然不相等