连接表(Oracle)没有连接列

时间:2016-12-24 04:17:49

标签: sql oracle

好的,所以我对ORACLE的新手是我的问题

  

显示学生信息(STUDENTID,LASTNAME,FIRSTNAME,   课程,课程和标记。

     

此查询的结果必须按照coursename排序。

表学生:

range

表格课程:

1111111111  Smith   Carolyn 124 Rolling Hills St    Fullerton
2222222222  Maradona    Diego   100 Imperial St Brea
3333333333  Messi   Lionel  225 Bristol St  Irvine
4444444444  Crosby  Sidney  869 Coriander St    Brea
5555555555  Ali Mohammed    125 Third Street    Fullerton

表结果:

J01 Java    4
B01 DataBase    4

这个问题真让我困扰,我无法弄清楚..... 如果有人可以帮助我,我会非常感激!

谢谢大家!

1 个答案:

答案 0 :(得分:2)

您还没有给出任何架构描述,因此我根据您在输出中所期望的列来假设列名称。这应该做:

select
    s.studentid,
    s.lastname,
    s.firstname,
    c.courseid,
    c.coursename,
    r.marks
from students s
inner join results r
    on s.studentid = r.studentid
inner join courses c
    on r.courseid = c.courseid
order by c.coursename;

修改

基于给定的DDL:

CREATE TABLE SALESPERSON (ID NUMBER (5), NAME VARCHAR2(20), AGE VARCHAR2(20), SALARY NUMBER(8)); 
CREATE TABLE CUSTOMER (ID NUMBER(5), NAME VARCHAR2(20), CITY VARCHAR2(15), INDUSTRY_TYPE VARCHAR2(5));
CREATE TABLE ORDERS (NUM NUMBER(5), ORDER_DATE DATE, CUST_ID NUMBER(5), SALESPERSON_ID NUMBER(5), AMOUNT NUMBER(6)); 

您可以像这样加入表:

select *  /* Select required columns */
from orders o
inner join customer c
on o.cust_id = c.id
inner join salesperson s
on o.salesperson_id = s.id;