当前位置:首页 > 数据库 > Oracle技术

求赐教: oracle 嵌套查询 多列 as 用法有关问题

优良自学吧提供求赐教: oracle 嵌套查询 多列 as 用法有关问题,求赐教: oracle 嵌套查询 多列 as 用法问题本帖最后由 zhangrun1 于 2014-06-11 16:36:40 编辑 select i.*,rownum,     &nbs

求赐教: oracle 嵌套查询 多列 as 用法问题
本帖最后由 zhangrun1 于 2014-06-11 16:36:40 编辑
select i.*,rownum,
        (select p.code,p.name_zh from z_person p where i.person_id=p.id) as pCode pName,
        (select g.name from z_groups g where i.group_id=g.id) as gName
        from z_interrogee i where i.is_delete=0 and rownum between 0 and 1

select i.*,rownum,
        (select p.code from z_person p where i.person_id=p.id) as pCode,
        (select p.name_zh from z_person p where i.person_id=p.id) as pNameZh,
        (select g.name from z_groups g where i.group_id=g.id) as gName
        from z_interrogee i where i.is_delete=0 and rownum between 0 and 1


第二条语句正常执行,但是肯定有优化问题。请问像第一条这种多列需要as的语句怎么写。

另外我还想了一种方法:
select i.*,rownum,p.code,p.nameZh,
        (select g.name from z_group g where i.group_id=g.id) as gName 
        from z_interrogee i,z_person p where i.person_id=p.id 
        and i.is_delete=0 
        and rownum between 0 and 1


但是还想了解想第一条需要一次一个语句查多列然后as的语句怎么写?求大虾赐教!!
------解决方案--------------------
select i.*,rownum,
        p.code as pCode,
        p.name_zh as pNameZh,
        (select g.name from z_groups g where i.group_id=g.id) as gName
        from z_interrogee i,z_person p where i.is_delete=0 and rownum between 0 and 1 and i.person_id=p.id(+)

(本文来自互联网,不代表搜站(http://www.ylzx8.cn/)的观点和立场)
本站所有内容来自互联网,若本站收录的信息无意侵犯了贵司版权,请给我们来信(ylzx8cn@163.com),我们会及时处理和回复,谢谢