问题名称:更新采购入库单加工费单价等于采购到货单的原币单价
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. update UserDef_Base set iMaxLen =500,iLength =500 where cDicDbName =''
2. 基础档案上的改完要改下userdef_base ,业务表改完要改 voucheritems_base
转载于:https://blog.51cto.com/yilesh/1569517