2014-10-04 68 views
1

我在嘗試將結果導入我的報告(apex 4.0)時遇到問題。我的查詢出現問題(apex 4.0)

我想有cursist.naam,inschrijving.datum,opleiding.naam和cursus.naam作爲結果

CREATE TABLE ."CURSIST" 
    ( "CURSISTID" NUMBER(10,0) NOT NULL ENABLE, 
    "NAAM" VARCHAR2(60 BYTE), 
    "BSN" NUMBER(10,0), 
    "ADRES" VARCHAR2(100 BYTE), 
    "WOONPLAATS" VARCHAR2(100 BYTE), 
    "EMAIL" VARCHAR2(120 BYTE), 
    "GEBDATUM" DATE, 
    "TELNR" VARCHAR2(200 BYTE), 
    PRIMARY KEY ("CURSISTID") 


    CREATE TABLE "CURSUS" 
    ( "CURSUSID" NUMBER(10,0) NOT NULL ENABLE, 
    "NAAM" VARCHAR2(50 BYTE), 
    "OMSCHRIJVING" VARCHAR2(200 BYTE), 
    "KOSTEN" NUMBER(10,0), 
    "TOTDATUM" DATE, 
    "VANDATUM" DATE NOT NULL ENABLE, 
    "LOKAAL" VARCHAR2(50 BYTE), 
    "ROOSTERROOSTERID" NUMBER(10,0) NOT NULL ENABLE, 
    "OPLEIDINGOPLEIDINGID" NUMBER(10,0) NOT NULL ENABLE, 


CREATE TABLE "INSCHRIJVING" 
    ( "INSCHRIJVINGID" NUMBER(10,0) NOT NULL ENABLE, 
    "DATUM" DATE, 
    "STATUS" VARCHAR2(200 BYTE), 
    "OPLEIDINGOPLEIDINGID" NUMBER(10,0) NOT NULL ENABLE, 
    "CURSISTCURSISTID" NUMBER(10,0) NOT NULL ENABLE, 
    "CURSUSCURSUSID" NUMBER(10,0) NOT NULL ENABLE, 
    PRIMARY KEY ("INSCHRIJVINGID") 




CREATE TABLE "OPLEIDING" 
    ( "OPLEIDINGID" NUMBER(10,0) NOT NULL ENABLE, 
    "NAAM" VARCHAR2(50 BYTE), 
    "KOSTEN" NUMBER(10,0), 
    "OMSCHRIJVING" VARCHAR2(200 BYTE), 
    "OPLEIDEROPLEIDERID" NUMBER(10,0) NOT NULL ENABLE, 
    "BEGINDATUM" DATE, 
    "EINDDATUM" DATE, 
    "AANGEMAAKTOP" DATE, 
    PRIMARY KEY ("OPLEIDINGID") 

我有以下查詢:

select cursist.naam, inschrijving.datum, opleiding.naam, cursus.naam 
from cursist , inschrijving, opleiding, cursus 
WHERE cursist.cursistID = 1 
AND inschrijving.CURSISTCURSISTID = cursist.cursistID 
AND opleiding.opleidingid = inschrijving.opleidingopleidingid 
AND cursus.cursusid = inschrijving.cursuscursusid 

,出現以下錯誤: ORA-20001:您的查詢包含重複的別名,用於報告的查詢需要唯一的別名。

回答

0

您有多個具有相同名稱的結果列。試試這個:

select 
    cursist.naam AS cursist_naam, 
    inschrijving.datum, 
    opleiding.naam AS opleiding_naam, 
    cursus.naam AS cursus_naam 
from 
    cursist, 
    inschrijving, 
    opleiding, 
    cursus 
WHERE 
    cursist.cursistID = 1 
    AND inschrijving.CURSISTCURSISTID = cursist.cursistID 
    AND opleiding.opleidingid = inschrijving.opleidingopleidingid 
    AND cursus.cursusid = inschrijving.cursuscursusid 
+0

非常感謝!我用你的答案來測試它,現在它工作:D你真棒。 – Elvira 2014-10-04 21:14:10

0

你有幾列稱爲查詢naam - 你應該給他們不同的名字。例如:

SELECT cursist.naam AS cursist_naam, 
     inschrijving.datum, 
     opleiding.naam AS opleiding_naam, 
     cursus.naam AS cursus_naam 
FROM cursist , inschrijving, opleiding, cursus 
WHERE cursist.cursistID = 1 AND 
     inschrijving.CURSISTCURSISTID = cursist.cursistID AND 
     opleiding.opleidingid = inschrijving.opleidingopleidingid AND 
     cursus.cursusid = inschrijving.cursuscursusid 
+0

Omg我愛你的答案:D – Elvira 2014-10-04 21:13:51