表关联查询语句以及练习表

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:2

表关联查询语句以及练习表

--销售出库单明细字段F_YDIE_ProjectName   反写至上游单据销售订单的明细字段F_YDIE_ProjectName


update t1 set F_YDIE_ProjectName =t2.F_YDIE_ProjectName 

 from T_SAL_ORDERENTRY t1,

--子表:销售出库单明细表y与他的拆分表x做关联查询,获取x表里的FSOEntryId(销售订单明细行)

(select x.FSOEntryId,y.F_YDIE_ProjectName 

from T_SAL_OUTSTOCKENTRY_R  x

INNER JOIN T_SAL_OUTSTOCKENTRY y

on x.FENTRYID = y.FENTRYID

where x.FID ='100006') t2

where t1.FENTRYID =t2.FSOENTRYID


--出库单

select  *  from  T_SAL_OUTSTOCK

--销售出库单明细表

select  *  from  T_SAL_OUTSTOCKENTRY

--销售出库单明细的拆分表

select  *  from  T_SAL_OUTSTOCKENTRY_R


--销售订单

select  *  from  T_SAL_ORDER

select  *  from  T_SAL_ORDERENTRY


--基础资料员工表

select * from  T_HR_EMPINFO

--员工表的名称(_L)

select * from  T_HR_EMPINFO_L

--员工表的关联查询,查询fid和fname

select x.fid,fName from T_HR_EMPINFO x 

inner join T_HR_EMPINFO_L y  on x.Fid =y.FID


--基础资料部门表

select * from T_BD_DEPARTMENT

--基础资料部门表的名称(_L)

select * from T_BD_DEPARTMENT_L

--多组织情况下d.FDEPTID=d.FMASTERID只取主组织的部门

select fnumber from 

 T_BD_DEPARTMENT d

 inner join T_BD_DEPARTMENT_L dl on  d.FDEPTID=d.FMASTERID and d.FDEPTID=dl.FDEPTID 



--组织表

select * from T_ORG_ORGANIZATIONS


--存储过程的创建

create  proc fanxie_z 

@x 类型    @id varchar(255)

as 

begin

--执行语句

end


alter  修改

exec 存储过程的表名

exec 存储过程的表名 ‘参数’,‘参数2’。。。

---------------------------------------------------------------------------------------

eg:

alter proc XiaoYing

@id varchar(255)

as

begin


select  tso.F_XBSY_Decimal,tso.FBILLALLAMOUNT,*  from t_AR_receivable ta

--应收单关联应付单明细

inner  join t_AR_receivableEntry tar   on tar.FID=ta.FID

--明细表  销售订单号字段 关联  销售订单单据编号

inner join T_SAL_ORDER ts on ts.FBILLNO = tar.FORDERNUMBER 

--inner join T_SAL_ORDERENTRY tse on tse.FID = ts.FID


--销售订单表头  关联  明细财务信息拆分表

inner join T_SAL_ORDERFIN tso on tso.FID = ts.FID

where ta.fid=@id


end

----------------------------------------------------------------------------------------------

--单据分布 表头,表体

--表头:只能有一个主表头,可以有多个子表头 

--表体:可以有多个主表体,多个子表体

--主表头永远只有一,但是主表体可以有多个


单据头=主表头                     单据体=主表体=基础资料里的字段

子单据头=子主表头=基础资料里查询的另外一个表         子单据体=子主表体



--主表头和子表头的关联关系通用FID关联

(主表头对应基本信息;子表头:除了基本信息外的)

--主表头和主表体的关联关系通用FID关联

(主表头是基本信息;主表体是明细信息/明细表)

--主表体和子表体的关联通用FENTRYID关联

(主表体是明细表;子表体是明细表的拆分表)

--子表体和子表体的关联通用FENTRYID关联

(明细表的拆分表和明细表的拆分表)


销售订单下推销售出库单,销售出库单中(明细中)的源单单号/订单单号=销售订单的单据编号

拆分表就是明细表,拆分表和主表头用FID关联。

如果两边的明细信息下的订单单号相同,那么两边的基本信息下的订单编号就相同(eg:销售出库单和应付单明细下的订单单号相同,基本信息下的订单编号就相同)

相同的表用FID/FENTRYID关联,不同的两张表通过单据转换查询对应的字段关联


通过BOS端的单据转化,查询对应的字段以及要搜索的表

单据转换中,源单指的是源头单子,目标单指的是下推出的单据


有框框的是表头,条状的是表体

只有基础资料的类型,去查找另外一张表,做对应(绑定的是什么就用什么)

下拉框了直接用对应的字段,显示出来文本则做判断


select * from T_PUR_POORDERENTRY_F  --财务信息子表体

select * from T_PUR_POORDERENTRY_R  --上游单据反写存储的数据

select * from T_PUR_POORDERENTRY_LK --原单关联信息表


当要查询的字段为基础资料类型(批量编辑字段属性)时,取到的值是基础资料的ID,需要通过ID和对应的基础资料表做关联查询

基础资料字段,在当前表中,只存在基础资料id。将id与当前的基础资料表的id做关联

取所用的字段,看字段的元素类型:

若元素类型是基础资料,就再看基础资料类型。查找基础资料类型对应的表1,表1的关联字段=元素类型的关联字段

若是名称,就查找元素_L      eg:物料名称在物料_L表下面


_L后缀的表为多语言表


应付单就是财务表,不需要后缀加_F


两张表做关联的时候,先在单据转换中,找到源单和目标单的关联关系(在单据转换中找映射关系)

一般是源单的单据编号FBILLNO指向到目标单的某个字段

所以数据库联查的条件:源单单据编号=目标单的某个字段

单据与单据做联查的时候,先将两张单据(源单单据编号=目标单的某个字段)做关联,


当单据跟基础资料做关联的时候,找当前基础资料在单据中的字段名与基础资料表的唯一识别字段(主键)做关联


搜基础资料表里的字段的时候,先找基础资料类型,再通过基础资料类型查询对应的表

存在基础资料的字段,若是再明细表中,

先将明细表和单据头关联起来,

再找到要查询的字段里的基础资料类型,

接下来查询基础资料类型里的字段,取该字段的唯一识别字段名和表名,

将查询的表.该名称字段名a=明细表.该名称字段名b

再取查询的表_L .FID=将查询的表.FID

最后取查询的表_L.FNAME/Number


--将状态禁用修改

case when 状态='A' then '0' else '1' end 别名


--两表/多表查询

inner join 表1  s1 on   s.id=s1.id

inner join 表12 s1 on   s.id=s2.id


--if判断

case ta.FDOCUMENTSTATUS

when 'A'then '创建'

when 'B'then '审核中'

when 'C'then '已审核'

when 'D'then '重新审核'

when 'Z'then '暂存'

   else '其他' end 单据状态

-----------------------------------------------------------------------------------

eg:

select 

   tbl.FNAME --申请部门

    --费用项目

 from T_AP_OTHERPAYABLE   ta --其他应付单

 left join T_BD_DEPARTMENT(部门) tb on tb.FDEPTID(主键字段名) = ta.FDEPARTMENTID(申请部门)

 left join T_BD_DEPARTMENT_L(部门拆分表) tbl on tbl.FDEPTID(主键字段名) = tb.FDEPTID(主键字段名)


报表练习1.xlsx


练习题答案

表关联查询语句以及练习表

--销售出库单明细字段F_YDIE_ProjectName 反写至上游单据销售订单的明细字段F_YDIE_ProjectNameupdate t1 set F_YDIE_ProjectName =...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息