EAS如果获取对应行政组织下所有行政组织

SELECT a.FLongNumber,

       b.FLongNumber

  FROM T_ORG_ADMIN a

  LEFT JOIN T_ORG_ADMIN b ON INSTR(b.FLongNumber||'!',a.FLongNumber||'!')=1

  WHERE a.FID = '行政组织ID'

 

2.尤其注意部门下还有部门,有些同事会这么写SQL

SELECT a.FLongNumber,

       b.FLongNumber

  FROM T_ORG_ADMIN a

  LEFT JOIN T_ORG_ADMIN b ON b.FParentID = a.FID

  WHERE FID = '行政组织ID'

这种写法是错误的,因为组织架构调整,可能还有更复杂情况,如公司下既有部门,又有公司等等情况

 

SELECT a.FLongNumber,

       b.FLongNumber

  FROM T_ORG_ADMIN a

  LEFT JOIN T_ORG_ADMIN b ON INSTR(b.FLongNumber,a.FLongNumber)>0

  WHERE a.FID = '行政组织ID'

这种写法在一定数据下也可能是错误的,比如一个简单的例子:

FLongNumber

02

0203

0203!04

上面的记录按照前面错误的SQL会将0203!04考虑在02或者0203组织下,但实际上0203!04只是在0203下

 

 

一群资深金蝶EAS开发顾问,专业为您解决金蝶EAS产品开发过程中的疑难问题/培训/方案指导,涉及产品EAS/EASWEB/EASSHR。如有需要,请加我WX:【kiana520】,备注金蝶技术咨询。技术/时间有价,收费服务。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章