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
FROM server, pc
JOIN standort ON standort.ID = ( pc.Standort OR server.Standort )
JOIN ip ON ( ip.GerateID = ( pc.ID AND ip.Typ = 'pc' ) OR (
server.ID AND ip.Typ = 'server'
) )
WHERE standort.Strasse = 'BW28'
Hier Ignoriert er scheinbar auch WHERE. Ich erhalte einfach alle PCs x-mal (x steht für die anzahl der Server).
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
FROM pc
JOIN standort ON standort.ID = pc.Standort
JOIN ip ON ip.GerateID = pc.ID AND ip.Typ = 'pc'
WHERE standort.Strasse = 'BW30'
Hier werden alle PCs mit IP-ID,Port und PC-Name angezeigt.
Was mache ich falsch, bzw. welchen Tipp könnt ihr mir geben?