当前位置: 代码迷 >> Oracle管理 >> 一条SQL 查询,请大神指点,多谢
  详细解决方案

一条SQL 查询,请大神指点,多谢

热度:110   发布时间:2016-04-24 04:10:23.0
求助一条SQL 查询,请大神指点,谢谢
大概形容一下吧 3张表 。 第一个表 是   活动表   A ............用到的数据是 活动主键   a1,a2,a3,a3
第二张表   活动关联的 区域表                              
  B ............可能用到的数据是      
 主键  b1,所属活动外键 a1  所属区域   例 南京
 主键  b2,所属活动外键 a1  所属区域   例 苏州
主键  b3,所属活动外键 a1  所属区域   例 镇江
主键  b4,所属活动外键 a2  所属区域   例 苏州
主键  b5,所属活动外键 a2  所属区域   例 杭州
主键  b6,所属活动外键 a3  所属区域   例 北京
然后就是可用数据。。。。 用户的  一个 权限区域,   比如     用户  小明 的权限   是  南京,苏州,镇江,扬州
用户小明 进来 查表       小明区域 是    南京,苏州,镇江, a1的活动是  南京,苏州,镇江 在小明权限范围内,符合要求。
而 活动  a2 只有一个 苏州  在小明权限内, 杭州不在,所以不符合,  a3 完全不在小明范围内 所以也不符合
 最后  根据 小明的 区域   得到 B表中所属区域  完全在其范围内的   活动主键。 最后显示 这些主键的A表  
求大神  帮忙解答。谢谢

------解决思路----------------------
select A.* FROM A,B,C
WHERE A.活动主键=B.活动主键
AND INSTR(C.权限区域,B.所属区域)>0
AND C.姓名='小明'
  相关解决方案