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