例如说有如下树状的组织结构:公司 A  
        部门1
               车间1-1
               车间1-2
        部门2
               车间2-1
               车间2-2
 假设所有车间和部门都能创建表的记录,但是自己机构产生的数据只能自己看到。上级却能看到下级的数据。 例如: 车间2-2产生的数据只能车间2-2自己看到,但是公司A,部门2这两个上级机构也能看到数据。
我在设计时增加Organization表 (组织ID)字段,表中有公司A,部门1,部门2,车间....等的树状结构。 然后在每个表中加入OrgId, 可以用来标识数据产生的位置。问题是,假如我是部门1的用户,我应该能看到车间1-1,1-2数据,可是如何使用SQL语句来获取呢。先取得Org的机构?类似  车间1-1 ID, 车间1-2 ID , 然后 SELECT XXX FROM TABLE WHERE OrgId in (OrgId的范围)?
貌似不是不可以,但是如果下级有30-100个子Org,那效率和方式也太笨拙了。请教您的做法,谢谢。