市场上常见的ERP软件有用友、金蝶等…,此篇文章阐述用友U8和SQL SERVER后台常用的的查询
先来了解一下SQL SERVER 中用友U8中 “ 收 ”单据所对应的表

“收”单据共性
- - U8中的“库存管理”下的库存单据,’仓库’、’单据日期’、’收发类别’ (比较重要的三个),它是单据呈现或者表达整张单据重要信息的唯一标识。
- - 这些唯一标识所对应的就是单据表体中多行的单据体信息,通俗的来讲单据头就是SQL中的主表,单据体就是SQL中的子表 ,把主表和子表
通过两张表相同的字段“ID”相互关联在一起就是U8软件中前台所呈现的整张完整的单据。

2.“收”单据特性
- - 单据的活灵活现:所有的“收”单据可以试用不同企业的共性以及通过单据的“格式设置”制定相应的表体/表头自定义项从而来针对不同企业的特性,所以每一个“收”单据都有不同的特性。

1)采购入库单主表:最明显的特性就是单据头有客商条目
2)采购入库单子表:显示存货信息,及对应的数量,在采购入库单和发票结算后显示对应的单价、金额、等…

①关联SQL两表语句

select * from RdRecord01 as rd left join RdRecords01 as rds ON rd.ID=rds.ID /*用两表的ID进行关联*/
where rd.dDate /*单据日期*/ between '2016-01-01' and '2016-01-31' /*16年期间1月份单据所有信息*/

②通过关联“供应商档案”表,显示客商编码所对应的客商名称

ALTER TABLE RdRecord01 ADD  cVenName NVARCHAR(100) /*在01表中添加一个名为‘cVenName’的字段*/
————————————————————————————————————————————————————————————————————————————————
UPDATE RdRecord01 set cVenName =Ven.cVenName  from Vendor AS Ven /*‘Vendor’(供应商档案表)*/
where RdRecord01.cVenCode =Ven.cVenCode  /*将表‘Vendor’中的cVenName字段(供应商名称)根据RdRecord01表和Vendor表中相同的cVenCode返回对应值/
- -逻辑与Excel表中 Lookup 函数相似,通俗的来讲,通过RdRecord01表中字段cVenCode匹配Vendor表中的字段cVenCode,返回Vendor中cVenCode所对应的
cVenName
————————————————————————————————————————————————————————————————————————————————
SELECT cVenName,cVenCode,* FROM RdRecord01
where dDate between '2016-01-01' and '2016-01-31'
  • 无论是关联仓库档案表(Warehouse)、还是收发类别表(Rd_Style)都可以按照此语句进行关联,因为在出入库数据表中所呈现的数据都是编码的形式显示,光眼睛看无法确定编码所对应的名称,所以会用到关联字段啦~,而且出入库表中都会有相应的关联的字段,比如主表与子表关联都会有相同的字段,‘ID’或者’PBVID‘等等…

③查询所有采购入库单中根据供应商汇总入库数量

SELECT  rd.cVenCode,rd.cVenName,SUM(rds.iQuantity) AS 合计入库量 from RdRecord01  rd LEFT JOIN rdrecords01 rds ON rd.ID=rds.ID
GROUP BY  rd.cVenCode,rd.cVenName  /*汇总的依据有很多(详细GROUP BY函数这里不再赘述)*/

④删除采购入库单 (大批量删除数据动作之前,有必要先做好备份)

delete from RdRecords01 rds
where rds.ID in (select ID from RdRecord01 where dDate between '2016-01-01' and '2016-01-31') /*通过字段“ID”删除主表所对应子表记录*/
————————————————————————————————————————————————————————————————————————————————
delete from RdRecord01
where dDate between '2016-01-01' and '2016-01-31' /*删除主表记录*/  小编在这里吃过不少亏,还提醒各位要先把要删的记录先查出来!先查出来!先查出来!在处理较大的数据量的时候小编都会先做备份,然后删完相应的记录把删除语句清除掉,谁知道一不小心就按错了呢,到时候哭都来不及o(╥﹏╥)o,尤其是不带where条件的,到时候就哭天喊地的补数据了,当然如果对自己的语句有绝对的信心(忽略此条)
—————————————————————————————————————————————————————————————————————————————————
delete from rdrecords01
where ID  not in (select ID from RdRecord01) /*删除的顺序是先删子表再删主表,如果先把主表记录删除,子表记录会有冗余,通过这个语句进行清除*/
—————————————————————————————————————————————————————————————————————————————————
拓展1:对于后期批量的数据处理,不一定删除的是整张单据,可能会存在删除个别单据某一行,或者根据关联的采购订单或者采购发票去删除对应的采购入库单,
这个小编在后期讲到关联单据数据处理以及发票,订单的时候会讲到。
—————————————————————————————————————————————————————————————————————————————————  

3)产成品入库单主表:针对于本单位的生产入库信息,
4)产成品入库单子表:显示存货数量,并在每个月存货核算成本分配以后会回写存货的单价和金额

5)其它入库单主表:U8中其它出入库单可以是拉式生成,也可能是通过审核‘调拨单’自动生成
6)其它入库单子表:显示存货数量,单价金额通过存货核算期末处理其它出库单所对应的仓库,回写到其它入库单中(因为调拨单,先有出再有入)

查询的语句参照上述’采购入库’所对应的语句

拓展2:小编相信如果您用U8产品,在这些单据的基础上少不了,现存量,收发存汇总表,出入库流水账,出库汇总,入库汇总,销售统计表等等一系列报表,这些报表各位可以根据单据试着用SQL语句在后台呈现出来,具体在后期展示

下期更新 ‘出’单据 以及采购/销售发票所关联单据的数据处理
邮箱地址:nierlingg@163.com ;本文到此结束,后期还持续更新,喜欢沟通交流,文章写的不得体的地方还请海涵,如有不足,还请指出

U8入库单后台查询处理 常用 SQL 语句(持续更新)相关推荐

  1. Oracle常用sql(持续更新)

    --1.oracle查看表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M ...

  2. oracle系统中poord是什么,Oracle常用sql(持续更新)

    --1.oracle查看表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M ...

  3. 【Mysql系列】工作常用sql集锦(持续更新)

    汇总工作中常用到的sql. 获取毫秒级的当前时间 用到CURRENT_TIMESTAMP(3). select CURRENT_TIMESTAMP(3); 但是在指定字段时需要注意字段的类型也需要da ...

  4. 52次课(mysql用户管理、常用sql语句、 mysql数据库备份恢复)

    MySQL创建用户以及授权 默认用户是root用户,不可能所有人员都用root用户,创建用户防止误删除,因为mysql里边有多个库每个库里有很多表,所以需要给单独的用户做一些授权我只需要它对某一个数据 ...

  5. Mysql常用sql语句(11)- between and 范围查询

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 between and可以判断值是否在指定范围内 ...

  6. mysql用户管理,常用sql语句,mysql数据库备份恢复

    2019独角兽企业重金招聘Python工程师标准>>> mysql用户管理 grant all on . to 'user1' identified by 'passwd'; gra ...

  7. 常用SQL语句 - 基于MySQL数据库

    常用SQL语句 - 基于MySQL数据库 基础 连接数据库 mysql -h10.20.66.32 -uroot -p123456 -h后面是mysqlServer所在地址,-u后面是用户名,-p后面 ...

  8. oracle常用SQL语句(汇总版)

    原文地址:https://www.cnblogs.com/xrhou12326/p/4094737.html Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象 一.数据控制语 ...

  9. 南大通用GBase8s 常用SQL语句(四十)

    南大通用GBase8s 常用SQL语句(四十) DATAFILES 子句 DATAFILES 子句指定当您使用外部表时打开的操作系统文件或管道. DATAFILES 子句 元素 描述 限制 语法 fi ...

最新文章

  1. 怎么看懂c语言程序,求讲解一下这个程序,我看了1个小时都没有看懂,
  2. 日常工作问题解决:配置NTP服务器以及一些常见错误解决
  3. 【学习笔记】3、Jupyter Notebook无法打开问题处理
  4. 题目:[NOIP2008]火柴棒等式
  5. SQL计算100以内的质数(可以把100换成任意的整数)
  6. 静态顺序表的基本操作
  7. 向银行贷款20万, 分期三年买50万的车,个人借款40万, 贷款10年买200万的房子,再贷款120万分创业...
  8. mysql之TIMESTAMP(时间戳)用法详解
  9. Linux下内存buffer和cache的区别
  10. JZOJ 5914. 盟主的忧虑
  11. leetcode:Happy Number
  12. OpenCV基础教程大全
  13. CAN总线和RS485的比较:
  14. lordPE转自http://blog.sina.com.cn/s/blog_6e8f83bc01014115.html
  15. 生产排程系统_【聚焦】纸箱世界智能制造纸板纸箱厂的高级计划与排程系统应用...
  16. 华为路由器a1怎么设置虚拟服务器,华为路由器a1 lite该怎么设置? | 192.168.1.1登陆页面...
  17. 3位1体学习法(smart哥)
  18. Vertica的这些事(四)—— 关于vertica常用函数介绍(持续更新ing)
  19. 计算机怎么移动游戏,Uplay游戏怎么搬移 Uplay游戏搬移方法介绍
  20. 通过日期的相减计算年龄

热门文章

  1. 爱丽丝梦游仙境游戏下载+游戏攻略
  2. 聊天-微信小程序websocket
  3. 百度离在线语音合成的快速集成
  4. 新电脑的操作系统win10的所有设置问题汇总
  5. 【20保研】北京大学前沿交叉学科研究院关于举办2019年交叉学科优秀大学生夏令营的通知...
  6. 合成地震记录的matlab程序,合成地震记录的matlab程序
  7. 决战燕京城-09 白狗大战蟒蛇
  8. 微课 | 中台战略专题教案 附下载
  9. 6. (7.5~8.9)2022年自动化保研信息汇总(预推免)
  10. 复杂环境下落地Service Mesh的挑战与实践