2016-12-24 79 views
-4

好了,所以林相當新的ORACLE這裏是我的問題連接表(Oracle)的無連接列

顯示學生信息(STUDENTID,姓,名, COURSEID,COURSENAME和標記。

的此查詢的結果必須由coursename進行排序

學生表:

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 

表結果:

1111111111 B01 110 18 
2222222222 B01 110 20 
3333333333 B01 110 18 
4444444444 B01 909 14 
5555555555 B01 909 18 
1111111111 J01 110 18 
2222222222 J01 110 19 
3333333333 J01 909 12 
4444444444 J01 110 11 
5555555555 J01 110 18 
1111111111 B01 110 18 
2222222222 B01 110 20 
3333333333 B01 110 18 
4444444444 B01 909 14 
5555555555 B01 909 18 
1111111111 J01 110 18 
2222222222 J01 110 19 
3333333333 J01 909 12 
4444444444 J01 110 11 
5555555555 J01 110 18 
1111111111 B01 110 18 
2222222222 B01 110 20 
3333333333 B01 110 18 
4444444444 B01 909 14 
5555555555 B01 909 18 
1111111111 J01 110 18 
2222222222 J01 110 19 
3333333333 J01 909 12 
4444444444 J01 110 11 
5555555555 J01 110 18 

這個問題確實困擾着我,我不能看着辦吧..... 如果有人能幫助我,我真的很感激它!

謝謝大家!

+0

什麼是列名?預期的結果是什麼? – GurV

+1

有問題嗎?我們看到來自三個表格的示例行,表面上命名爲「學生」,「課程」和「結果」。問題是什麼?有什麼可以弄清楚的?如果您希望以特定順序返回行,請將一個ORDER BY子句添加到SELECT語句中。 – spencer7593

+1

我甚至不明白標題。 「沒有加入專欄」是什麼意思?一切都被認爲是粗魯的;我將編輯你的標題,以免你對我們大喊大叫。 – mathguy

回答

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; 
+0

感謝singh,即時通訊只是有點困惑什麼時候放在ON子句,當我沒有相同的列名和數據類型...例如SELECT s.student_id,s。 last_name,c.course_id,c.course_name,r.marks from students's inner join courses c on s.student_id = c.course_id inner join results on c.courses_id = r.marks; – Davidito

+0

然後,請在問題 – GurV

+0

中指定表列及其數據類型,在on子句中顯示給我的示例中,您始終對r上的每個「s.studentid = r.studentid」使用相同的列名稱.courseid = c.courseid''如何在你的表中連接表沒有任何列?希望有道理....謝謝你兄弟 – Davidito