Hallo Forum,
ich bin neu in Sachen SQL und habe trotzdem ein etwas größeres Projekt angefangen.
Es geht nämlich um die Beschriftung von Kabeln in Servern und den Rückschluss darauf zu welcher Leitung ein Kabel gehört. Dazu gehört Ebenso das Gerät, der Port und der Ort. Das steht auch schon die Tabellen hierfür habe ich soweit von der Struktur her fertig.
Hier einmal alle Tabellen und das Schema für den allgemeinen Aufbau.
https://docs.google.com/spreadsheet/ccc?key=0AqzIpML5mhf6dFZhMUthQS1Mcm05RzFuQ1F2dXUyTEE
Der einzige Parameter der übergeben werden soll, ist die ID der Etikette.
Es ist nämlich so gedacht das ich das Ende eines Kabels scanne und dann direkt sehe wo die Leitung lang führt bzw. alle anderen Etiketten die zu dieser Leitung gehören. Vereinfacht kann man sagen, es gibt ein Teilstück, an dem sind zwei Etiketten, die jeweils immer an einem Gerät hängen.
Mein Problem besteht also "nur" in der SQL-Abfrage,
ich möchte folgendes ausgegeben haben wenn ich bspw. Etikette 1 Scanne:
[datenschrank_bezeichnung] = DS1
[geraet_bezeichnung] = Gerät 1
[portnummer] = Port A
(das wäre Etikette 1)
[datenschrank_bezeichnung] = DS1
[geraet_bezeichnung] = Gerät 2
[portnummer] = Port B
usw usw ...
ohne die eckigen Klammern, das sind ja die Spaltennamen - aber die Ausgabe bekomm ich dann mit HTML schon selber hin ^^
Die SQL-Abfrage die ich hier probiert habe ist folgende:
Dabei bekomm ich aber eben auch nur die Etikette 1 ...
Wäre toll wenn ir jemand sagen kann wie es richtig wäre um auf mein gewünschtes Ergebnis zu kommen und mir erklärt warum und wieso. Ich will eben auch noch was dabei lernen^^
MfG Tony
ich bin neu in Sachen SQL und habe trotzdem ein etwas größeres Projekt angefangen.
Es geht nämlich um die Beschriftung von Kabeln in Servern und den Rückschluss darauf zu welcher Leitung ein Kabel gehört. Dazu gehört Ebenso das Gerät, der Port und der Ort. Das steht auch schon die Tabellen hierfür habe ich soweit von der Struktur her fertig.
Hier einmal alle Tabellen und das Schema für den allgemeinen Aufbau.
https://docs.google.com/spreadsheet/ccc?key=0AqzIpML5mhf6dFZhMUthQS1Mcm05RzFuQ1F2dXUyTEE
Der einzige Parameter der übergeben werden soll, ist die ID der Etikette.
Es ist nämlich so gedacht das ich das Ende eines Kabels scanne und dann direkt sehe wo die Leitung lang führt bzw. alle anderen Etiketten die zu dieser Leitung gehören. Vereinfacht kann man sagen, es gibt ein Teilstück, an dem sind zwei Etiketten, die jeweils immer an einem Gerät hängen.
Mein Problem besteht also "nur" in der SQL-Abfrage,
ich möchte folgendes ausgegeben haben wenn ich bspw. Etikette 1 Scanne:
[datenschrank_bezeichnung] = DS1
[geraet_bezeichnung] = Gerät 1
[portnummer] = Port A
(das wäre Etikette 1)
[datenschrank_bezeichnung] = DS1
[geraet_bezeichnung] = Gerät 2
[portnummer] = Port B
usw usw ...
ohne die eckigen Klammern, das sind ja die Spaltennamen - aber die Ausgabe bekomm ich dann mit HTML schon selber hin ^^
Die SQL-Abfrage die ich hier probiert habe ist folgende:
Code:
SELECT
leitung.leitung_id,
teilstueck.teilstueck_id,
datenschrank.datenschrank_bezeichnung,
geraet.geraet_bezeichnung,
portnummer,
etikett_id
FROM
etikett
LEFT JOIN teilstueck ON etikett.teilstueck_id = teilstueck.teilstueck_id
LEFT JOIN leitung ON teilstueck.leitung_id = leitung.leitung_id
LEFT JOIN datenschrank ON etikett.datenschrank_id = datenschrank.datenschrank_id
LEFT JOIN geraet ON etikett.geraet_id = geraet.geraet_id
WHERE
etikett_id = 1
Dabei bekomm ich aber eben auch nur die Etikette 1 ...
Wäre toll wenn ir jemand sagen kann wie es richtig wäre um auf mein gewünschtes Ergebnis zu kommen und mir erklärt warum und wieso. Ich will eben auch noch was dabei lernen^^
MfG Tony