Verknüpfung von drei Tabellen

dmkstyle

Grünschnabel
Hallo,

ich hätte da bei meinem derzeitigen Projekt ein bisschen Schwierigkeiten bzgl der SQL Abfragen.

Ich habe ein der DB folgende Tabellen: (mit den wichtigsten Keys)
  • one_projekte (projekt_ID)
  • one_kalendar(kalendar_ID)
  • one_verbindungen(verbindung_ID, verbindung_one, verbindung_two, verbindung_key)

verbindung_key... gibt nur an um welche verbindug es sich handelt (1: projekt-user; 2: projekt-termin; 3: projekt-download; 4: User-gruppe
  1. Projekt zu User
  2. Projekt zu Termin
  3. Projekt zu Download
  4. User zu Gruppe
wobei auch die Reihnfolge (verbindung_one, verbindung_two) eingehalten wird.

Verknüpft wird das ganze so:
Ein User hat mehrere Projekte.
Ein Projekt mehrere Termine.

Mien Ansatz war:
Code:
SELECT * FROM `one_users` 
LEFT JOIN `one_verbindungen` ON 
`one_users`.`ID` = `one_verbindungen`.`verbindung_two`
LEFT JOIN
`one_projekte`
ON
`one_verbindungen`.`verbindung_one` = `one_projekte`.`projekt_ID`
WHERE
`one_users`.`ID`=1

Aber das Funtz nicht so ganz.

Ich hoffe ich habe mich verständlich ausgedrückt ;)
Und ich hoffe ihr könnt mir helfen

mfg
dmk

EDIT:
Aja ganz vergessen ich möchte alle Termine ausgeben bei denen der User beteiligt ist (Also alle Termine von Projekten in denen er Verknüpft ist)
 
Zuletzt bearbeitet:
Von welchem DB-System reden wir denn in diesem Fall ?

Abgesehen davon: Könntest Du mit ein paar Beispielen deutlich machen, was Du eigentlich erreichen willst ? Ich verstehe die Verbindung nicht ganz, und über die Tabelle User hast Du nicht viel geschrieben.
Verstehe ich das recht, dass Deine Verbindung-Tabelle dafür dient, n:m-Relationen zwischen mehreren Tabellen aufzulösen ? Ehrlich gesagt: Um den Überblick zu bewahren, würde ich Dir vorschlagen, für jede Relation eine eigene 'verbindung'-Tabelle zu bauen. Dann sollte die Aufgabenstellung aus dem Edit ziemlich Straightforward sein ...
 
wir reden über mySQL

also die Verknüpfung ist Folgende

UserID (in ner Session) <-> Verknüpfungstabelle_User-Projekte <-> Projekttabelle <-> Verknüpfungstabelle_projekte-termine <-> termintabelle

jetzt will ich für meinen eingeloggten User alle Termine für die er zuständig ist ( also in den Projekten die er zugeteilt ist ) ausgeben bzw nur die ID der Termine zurückgeben


Hoffe nun war es verständlicher

mfg
 
Zurück