当前位置: 代码迷 >> Oracle技术 >> oracle 经过明细表查询主表(返回主表记录)
  详细解决方案

oracle 经过明细表查询主表(返回主表记录)

热度:117   发布时间:2016-04-24 08:08:59.0
oracle 通过明细表查询主表(返回主表记录)
主表: 班级ID  班级名称
              1               班级1
               2              班级2

细表: 学生ID   班级ID   学生姓名
              1               1           张三
              2               1           李四
              3               2           王五

通过张三 或李四就能查到班级1 只返回一条记录(即只返回主表的一条记录)
------解决方案--------------------
引用:
主表: 班级ID  班级名称
              1               班级1
               2              班级2

细表: 学生ID   班级ID   学生姓名
              1               1           张三
              2               1           李四
              3               2           王五

通过张三 或李四就能查到班级1 只返回一条记录(即只返回主表的一条记录)

主表T1,细表T2
select distinct banji_id,banji_nm from t1 where t1.banji_id in (select banji_id from T2 where T2.xuesheng_nm in ('张三','李四'))
------解决方案--------------------
select a.classnm
from tmp_class a
where exists ( select 1 from tmp_stu b
where a.classid = b.classid
and (stunm = 'zhang' or stunm = 'li'))
  相关解决方案