# Mehrere Tabellenspalten mit INNER JOIN verknüpfen



## ebruss17 (4. Jan 2015)

Hallo Community,

ich bin gerade dabei, mehrere Tabellen mit einem INNER JOIN zu verknüpfen... das sind genau 6 Tabellen, die miteinander verknüpft werden sollen. Meine SQL-Anweisung sieht folgendermaßen aus:


```
SELECT MGMT.Testcomponent.Name, MGMT.Testcases.Name, RT.Testdata.Summary, RT.LOGFILE.FILE, RT.Testruns.TESTRUN_ID, MGMT.Iteration.Name, MGMT.System.Name,
MGMT.System.Version
FROM MGMT.TESTCOMPONENT 
INNER JOIN MGMT.TESTCASES ON MGMT.Testcases.COMPONENT_ID = MGMT.Testcomponent.COMPONENT_ID
INNER JOIN RT.Testdata ON MGMT.Testcases.TESTCASE_ID = RT.Testdata.TESTCASE_ID
INNER JOIN RT.LOGFILE ON RT.Logfile.L_ID = RT.Testdata.LOGFILE_ID
INNER JOIN RT.TESTRUNS ON MGMT.Iteration.i_ID = RT.Testruns.i_ID
INNER JOIN MGMT.System ON MGMT.System.SYSTEM_ID = RT.Testruns.SYSTEM_ID
```

Nun es bestehen Verbindungen zwischen der Tabelle Testcomponent und Testcases 
zwischen der Tabelle Testcases und Testdata, zwischen der Tabelle Logfile und Testdata. Da auch die Tabelle Iteration und System mit ihren jeweiligen Spalten von Nöten sind und da diese beiden Tabellen nur Beziehung mit der Tabelle Testruns haben, habe ich trotzdem die Tabelle Testruns mitdazugenommen, wegen der Beziehung von Primär- und Fremdschlüssel, weil sonst könnte ich keinen INNER JOIN dafür verwenden und könnte die jeweiligen Spalten der Tabellen System und Iteration nicht anzeigen lassen. 
MGMT und RT sind Schemanamen für die jeweiligen Tabellen.

Die Fehlermeldung ist:

"MGMT.ITERATION.I_ID" is not valid in the context where it is used.. SQLCODE=-206, SQLSTATE=42703, DRIVER=4.14.113


Kann mir jemand behilflich sein? Wie könnte es denn aussehen, wenn ich dafür eine View erzeugen würde??


----------



## ebruss17 (4. Jan 2015)

Habe das jetzt mal mit einer sehr langen SELECT-Anweisung gelöst, klappt auch soweit:

SELECT RT.Logfile.L_ID, MGMT.Testcomponent.Name, MGMT.Testcases.Name, RT.Testdata.Summary, MGMT.Iteration.Name, MGMT.System.Name, MGMT.System.Version, RT.LOGFILE.FILE 
FROM MGMT.TESTCOMPONENT INNER JOIN MGMT.TESTCASES ON MGMT.Testcases.COMPONENT_ID = MGMT.Testcomponent.COMPONENT_ID INNER JOIN RT.Testdata ON MGMT.Testcases.TESTCASE_ID = RT.Testdata.TESTCASE_ID INNER JOIN RT.LOGFILE ON RT.Logfile.L_ID = RT.Testdata.LOGFILE_ID INNER JOIN RT.TESTRUNS ON RT.Testruns.i_ID = RT.Testdata.TESTRUN_ID INNER JOIN MGMT.System ON MGMT.System.SYSTEM_ID = RT.Testruns.SYSTEM_ID INNER JOIN MGMT.Iteration ON MGMT.Iteration.I_ID = RT.TESTRUNS.I_ID

Wie könnte ich das Ganze denn mit einem CREATE View... denn lösen? Da ich mit einer View noch nie gearbeitet habe... wäre ich für jede Hilfe sehr dankbar....


----------

