Mitarbeiterdatenbank doppelt referenzieren
Mitarbeiterdatenbank doppelt referenzieren
am 20.10.2006 16:20:25 von Sascha Clausen
Hallo Gruppe,
ich hänge gerade an einem kleinen Problem:
Nehmen wir 2 Tabellen an:
Tabelle Mitarbeiter:
ID,Name
Tabelle Projekte
Projektleiter1_ID,Projektleiter2_ID,Name,Zeitraum
Projektleiter1_ID und Projektleiter2_ID enthalten die IDs, welche in der
Tabelle Mitarbeiter stehen.
Jetzt möchte ich mit einer MySQL- Abfrage alle Projekte inkl. den beiden
Leitern ausgeben:
SELECT * FROM Projekte
Jetzt sollen aber nicht die Projektleiter IDs, sondern die Namen dazu
ausgegeben werden.
Wäre es nur ein Projektleiter wäre es mit einem JOIN kein Problem - mit
beiden kriege ich das nicht hin!
Wer kann mir helfen?
Re: Mitarbeiterdatenbank doppelt referenzieren
am 20.10.2006 16:38:52 von Andreas Kretschmer
Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)
Re: Mitarbeiterdatenbank doppelt referenzieren
am 20.10.2006 16:45:00 von Claus Reibenstein
Sascha Clausen schrieb:
> Wäre es nur ein Projektleiter wäre es mit einem JOIN kein Problem - mit
> beiden kriege ich das nicht hin!
Stell Dir einfach vor, es wären _zwei_ Tabellen, die beide "Mitarbeiter"
heißen und die Du dann über zwei verschiedene Aliase referenzierst, also
irgend so etwas wie
SELECT a.Name, b.Name from Mitarbeiter a, Mitarbeiter b, Projekte p
where Projektleiter1_ID = a.ID and Projektleiter2_ID = b.ID
Gruß. Claus
Re: Mitarbeiterdatenbank doppelt referenzieren
am 20.10.2006 17:03:05 von Sascha Clausen
Am Fri, 20 Oct 2006 16:45:00 +0200 schrieb Claus Reibenstein:
> Stell Dir einfach vor, es wären _zwei_ Tabellen, die beide "Mitarbeiter"
> heißen und die Du dann über zwei verschiedene Aliase referenzierst, also
> irgend so etwas wie
>
> SELECT a.Name, b.Name from Mitarbeiter a, Mitarbeiter b, Projekte p
> where Projektleiter1_ID = a.ID and Projektleiter2_ID = b.ID
Das habe ich - funktioniert nicht. (Keine Ergebnisse)
Aber danke!
Re: Mitarbeiterdatenbank doppelt referenzieren
am 20.10.2006 17:03:32 von Sascha Clausen
Danke!!
Re: Mitarbeiterdatenbank doppelt referenzieren
am 20.10.2006 21:32:42 von Claus Reibenstein
Sascha Clausen schrieb:
> Am Fri, 20 Oct 2006 16:45:00 +0200 schrieb Claus Reibenstein:
>
>> SELECT a.Name, b.Name from Mitarbeiter a, Mitarbeiter b, Projekte p
>> where Projektleiter1_ID = a.ID and Projektleiter2_ID = b.ID
>
> Das habe ich - funktioniert nicht. (Keine Ergebnisse)
Dann gibt es entweder keine passenden Einträge, oder Du hast irgendetwas
falsch gemacht. Bei mir funktioniert es jedenfalls genau so.
Gruß. Claus
Re: Mitarbeiterdatenbank doppelt referenzieren
am 20.10.2006 22:31:03 von dnoeth
Claus Reibenstein wrote:
>>> SELECT a.Name, b.Name from Mitarbeiter a, Mitarbeiter b, Projekte p
>>> where Projektleiter1_ID = a.ID and Projektleiter2_ID = b.ID
>> Das habe ich - funktioniert nicht. (Keine Ergebnisse)
>
> Dann gibt es entweder keine passenden Einträge, oder Du hast irgendetwas
> falsch gemacht. Bei mir funktioniert es jedenfalls genau so.
Wahrscheinlich gibt es in einer der Projektleiter IDs einen ungültigen
Wert oder eine NULL.
Das wäre dann ja mal ein guter Grund für Outer Joins...
Dieter
Re: Mitarbeiterdatenbank doppelt referenzieren
am 21.10.2006 08:57:56 von Andreas Kretschmer
Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)