问题名称:更新采购入库单加工费单价等于采购到货单的原币单价

update rdrecords01

set A1.iProcessCost=A2.iOriCost,A1.iProcessFee=A2.iOriMoney

from rdrecords01 A1,PU_ArrivalVouchsA2

where A1.cInvCode=A2.cInvCode and A1.cPOID= A2.cordercode

以上慎用

问题名称:发票号联查发票子表数据

select PBVID,ID,iSum,* from PurBillVouchs

where PBVID=(select PBVID fromPurBillVouch where cPBVCode='23235342')

以上通过采购发票主表的发票号联查子表的数据

问题名称:采购订单号联查订单子表数据

select POID,* from PO_Podetails

where POID=(select POID fromPO_Pomain where cPOID='WL201409004')

以上通过采购订单号联查采购订单子表数据

问题名称:委外订单号联查委外订单子表数据

select * from OM_MODetails

where MOID=(select MOID fromOM_MOMain where cCode='WL-1409041')

以上通过委外订单号联查委外订单子表数据

问题名称:通过已知订单号及存货编码更新委外订单子表内存货编码

update OM_MODetails setcInvCode='CP020000385'

where  cInvCode='WF0031' and MOID=(select MOID fromOM_MOMain where cCode='WL-1409041')

问题名称:通过订单号联查委外用料单子表数据

select * from OM_MOMaterials

where MOID=(select MOID fromOM_MOMain where cCode='WL-1409041')

问题名称:通过已知订单号及存货编码更新委外用料单子表

update OM_MOMaterials setcInvCode='CP020000385'

where  cInvCode='WF0031' and MOID=(select MOID fromOM_MOMain where cCode='WL-1409041')

SQL查询包含某个字段的所有表名

1.查询包含'FID'字段的所有表名

在查询分析器中选中目标数据库,执行以下语句。
SELECT  b.name  as  TableName,a.name  as  columnname
From  syscolumns a  INNER JOIN  sysobjects b    
ON  a.id=b.id AND b.type='U' AND  a.name='FID'

2.查询包含'FID'字段或'FUserID'字段的所有表名

SELECT  b.name  as TableName,a.name  as  columnname
From  syscolumns a  INNER JOIN  sysobjects b    
ON  (a.id=b.id AND b.type='U' AND (a.name='FID' or a.name='FUserID'))

3.查询包含'FID'字段和'FUserID'字段的所有表名

SELECT  b.name  as TableName,a.name  as  columnname
From  syscolumns a  INNER JOIN  sysobjects  b   
ON  
(a.id=b.id   AND b.type='U' AND a.id in
    (select a.id from syscolumns a where a.name='FID' and a.idin
        (select a.id from syscolumns a wherea.name='FUserID')
    )
)

4.查询所有包含字段‘cInvcode’的表名

select a.name 表名,b.name 列名

from sysobjects a,syscolumns b

where a.id = b.id andb.name = 'cInvcode' and a.type='U'
关于syscolumns表
字段:name:列名id:所在表序号
关于sysobjects表
字段:name:表名id:表序号

 

更新存货明细帐负数问题的SQL语句
UPDATE IA_Subsidiary   
/* IA_Subsidiary : 存货明细账*/
SET iAInQuantity = ABS(iAInQuantity) 
/* iAInQuantity:收入数量----ABS求绝对值*/
WHERE cvoutype = 30  /* cvoutype:
单据类型 */
UPDATE IA_Subsidiary
SET iInCost = ABS(iInCost)  
/* iInCost:收入单价 */
WHERE cvoutype = 30

解决Sql总帐与明细帐不平的语句
update gl_accass set me=mb where md=0 and mc=0

 

库存现存量查询

select cInvCode,iQuantity from V_currentstock/*库存现存量查询*/

select InvCode,InvAddCode,InvName,* from v_bas_inventory /*存货编码档案表*/

用仓库名称查询存货现存量

select A1.cInvCode 存货编码,A2.InvName 存货名称,A2.InvAddCode 存货规格,A1.iQuantity 现存量

from V_currentstock A1,v_bas_inventory A2

where A1.cInvCode=A2.InvCode AND WhCode=(select cWhCode fromWarehouse where cWhName='成品仓'/*通过仓库名称查询仓库编码*/)

问题名称:采购结算单号联查结算单子表数据

select * from PurSettleVouchs /*采购结算单子表*/

where PSVID=(select PSVID fromPurSettleVouch where cSVCode='000000000000363'/*采购结算单主表*/)

and cPIVCode='0000005662'

问题名称:更新基础档案的自定义项的字段长度

  1. 1. update UserDef_Base set iMaxLen =500,iLength =500 where cDicDbName =''

  2. 2. 基础档案上的改完要改下userdef_base ,业务表改完要改 voucheritems_base