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】,備註金蝶技術諮詢。技術/時間有價,收費服務。

 

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