Abfrage aus Tabelle und Untertabelle
Hallo zusammen,
komischer Titel, aber ich weiß nicht wie ich es anders beschreiben soll :( Ich habe 4 Tabellen. In Tabelle ip stehen alle IP's mit zugehöriger PC-ID (GerateID). In Tabelle standort stehen alle Standorte. In Tabelle pc stehen alle PC's mit zugehöriger Standort-ID und Port. In Tabelle server stehen alle Server mit zugehöriger Standort-ID und Port. port ip name Jetzt möchte ich, dass er mir alle PC's & Server mit IP-ID und Standort ausgibt. Meine bisherigen Versuche endeten bisher immer desolat. Mein letzter Versuch: Code:
SELECT pc.Name AS pcName, pc.Port AS pcPort, ip.ID AS ipID, server.Name AS serverName, server.Port AS serverPort Minimiere ich die Abfrage auf die PCs, funktioniert es, wie es soll: Code:
SELECT pc.Name AS pcName, pc.Port AS pcPort ,ip.ID AS ipID Was mache ich falsch, bzw. welchen Tipp könnt ihr mir geben? |
AW: Abfrage aus Tabelle und Untertabelle
...doch nicht möglich?
|
AW: Abfrage aus Tabelle und Untertabelle
Hi,
um Dir zu helfen wären folgende Angaben nicht schlecht: - (CREATE TABLE Syntax) - Beispieldaten - gewünschtes Ergebnis Ansonsten solltest Du Dir mal Deine JOIN Syntax anschauen. Zitat:
Hier könnte es schon helfen, wenn Du die Tabellen über Code:
JOIN standort ON pc.standort = server.standort HTH, Andy (edit:) Sehe gerade, daß Du doch schon ein paar mehr Angaben gegeben hast. Werd' noch mal genauer drüber schauen. (/edit) |
AW: Abfrage aus Tabelle und Untertabelle
Hi,
hab' mir jetzt noch mal ein paar Gedanken mehr gemacht und würde Dir folgenden Vorschlag machen: Überdenke Deine Tabellenaufteilung noch mal. Wieso benötigst Du zwei Tabellen für PC und Server? Soweit ich es einschätzen kann enthalten beide Tabellen die selben Daten. Um zu unterscheiden, ob es sich um einen Server oder "nur" um einen PC handelt reicht eine weitere Spalte "Server", anhand derer Du unterscheiden kannst. Das geht natürlich nur, wenn ein Gerät nicht gleichzeitig Server und PC sein kann. (edit:) Es geht doch, dann muss eben ein dritter Wert in die Spalte eingetragen werden, also z.B. 1 für PC, 2 für Server, 3 für beides (/edit) Weiterhin würde ich Dir empfehlen, die Tabellennamen zu verändern. Normalerweise ist der Name einer Tabelle in der Mehrzahl, also z.B. "PCs" und der Spaltenname in der Einzahl "port, pcname,...". Ansonsten befürchte ich, daß Du es nicht mit einer einzelnen Abfrage schaffst, die gewünschten Informationen zu bekommen. Mach also zwei Abfragen, die Dir zuerst die PCs mit allen Informationen geben, danach eine zweite Abfrage für die Server. Über den Programmcode (z.B. in PHP) kannst Du die Ausgaben besser aufbereiten. HTH, Andy |
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:10:29 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.