Oracle视图从多个选择列返回单个列

时间:2016-07-21 14:14:33

标签: oracle

查询1:我需要从一个表中获取dept代码。 查询2:使用该dept代码查询另一个表,该表还有另一组dept代码。一种是很多,一种是指许多部门。

注意:它们在两个表中没有相同的列名。

,最终结果应该是第一个查询和第二个查询的结合。

例如:查询1结果:ECE         查询2结果:EEE,Mech,Comp。 SC。

我需要的结果是ECE,EEE,Mech,Comp。 SC。

declare default_dept_Code varchar2(10);
begin
select dept_code into default_dept_Code from (select dept_code from 
course_per WHERE student_no ='526765771');

dbms_output.put_line(default_dept_Code);

SELECT dept_code FROM course_per WHERE student_no ='526765771'
union all
select add_dept_code from addition_dept where dept_Code = default_dept_Code;

我无法执行此查询,它有错误。我可以处理它的其他最佳方法是什么,我需要把它放在一个VIEW中。我试图创建临时表并将选择结果插入其中,但是没有用。我是Oracle的新宠。我不想使用游标,如果这是我可以选择的唯一选择。

1 个答案:

答案 0 :(得分:0)

根据我的理解,您可以像这样编写查询:

SELECT dept_code as code 
    FROM course_per 
    WHERE student_no ='526765771'
UNION ALL
SELECT add_dept_code as code 
    FROM addition_dept 
    WHERE dept_Code = (
        SELECT dept_code
        FROM course_per 
        WHERE student_no ='526765771');