
tr0nix
der-mit-dem-tux-tanzt
Hallo zusammen
Ich habe ein Abfrageproblem.. und zwar folgendes:
Ich habe 5 Tables:
Change
ChangeRef
Environment
Application
Server
- In Application und Server stehen sinnesweiser Applikationsnamen und Servernamen.
- In Environment werden diese zu einer "Environment" verschmolzen (Also Applikation Test auf Server Spielwiese).
- In Change werden Änderungen eingegeben. Jeder Change kriegt eine ChangeID (Primary Key)
- In ChangeRef wird eine Umgebung einem Change zugeteilt. Natuerlich kann durch einen weiteren Eintrag dort eine weitere Umgebung einem Change zugeteilt werden.
Was ich nun machen will:
Bei meiner Webapplikation soll man auf einen Server bzw. eine Application klicken können, und darin alle Changes sehen in welcher der Server bzw. die Applikation vorkommt.
Sprich: Ich weiss den Server/Applikation, muss nachschauen in welchen Environments dieser ist und anschliessend in der Change/Environment-Tabelle (ChangeRef) nachschauen, welcher Change diese Umgebung hat.
Zuguterletzt beziehe ich dann auch noch die Informationen des Changes da nur die Changenummern nicht so deutlich sind für den Anwender.
Das hier hab ich mal gebastelt anhand einer suche mit einer Applikation:
ChangeID = ID des Changes (Prim.)
ChangeRefChRef = Referenz zu ID des Changes im Table ChangeRef
ChangeRefEnvRef = Referenz zur ID der Environment im Table ChangeRef
EnvironmentID = ID des Environment (Prim.)
EnvironmentAppRef = Referenz zum Namen der Applikation im Table Environment
Das $_GET['name'] ist dabei der Applikationsname.
Das Problem:
Ich kriege alle Einträge doppelt!?
Kann mir da jemand helfen?
Ich habe ein Abfrageproblem.. und zwar folgendes:
Ich habe 5 Tables:
Change
ChangeRef
Environment
Application
Server
- In Application und Server stehen sinnesweiser Applikationsnamen und Servernamen.
- In Environment werden diese zu einer "Environment" verschmolzen (Also Applikation Test auf Server Spielwiese).
- In Change werden Änderungen eingegeben. Jeder Change kriegt eine ChangeID (Primary Key)
- In ChangeRef wird eine Umgebung einem Change zugeteilt. Natuerlich kann durch einen weiteren Eintrag dort eine weitere Umgebung einem Change zugeteilt werden.
Was ich nun machen will:
Bei meiner Webapplikation soll man auf einen Server bzw. eine Application klicken können, und darin alle Changes sehen in welcher der Server bzw. die Applikation vorkommt.
Sprich: Ich weiss den Server/Applikation, muss nachschauen in welchen Environments dieser ist und anschliessend in der Change/Environment-Tabelle (ChangeRef) nachschauen, welcher Change diese Umgebung hat.
Zuguterletzt beziehe ich dann auch noch die Informationen des Changes da nur die Changenummern nicht so deutlich sind für den Anwender.
Das hier hab ich mal gebastelt anhand einer suche mit einer Applikation:
Code:
SELECT * FROM
`Change`, `ChangeRef`, `Environment`, `Application` WHERE
`Change`.`ChangeID` = `ChangeRef`.`ChangeRefChRef` AND
`ChangeRef`.`ChangeRefEnvRef` = `Environment`.`EnvironmentID` AND
`Environment`.`EnvironmentAppRef` = \'' .$_GET['name'] .'\';
ChangeID = ID des Changes (Prim.)
ChangeRefChRef = Referenz zu ID des Changes im Table ChangeRef
ChangeRefEnvRef = Referenz zur ID der Environment im Table ChangeRef
EnvironmentID = ID des Environment (Prim.)
EnvironmentAppRef = Referenz zum Namen der Applikation im Table Environment
Das $_GET['name'] ist dabei der Applikationsname.
Das Problem:
Ich kriege alle Einträge doppelt!?
Kann mir da jemand helfen?