mf_2
2008-01-03, 14:35:39
Hallo,
Ich habe ein Problem:
Es gibt eine Tabelle t1 mit den Feldern prozess, server und id.
Weiterhin gibt es eine Tabelle tserver mit den Feldern id, servername, prozessid und eine Tabelle tprozesse mit den Feldern id, prozessname,serverid.
Nun will ich alle Datensätze aus t1 anzeigen, wenn es für den Server im Feld 'server' auch wirklich den Prozess im Feld 'prozess' gibt.
Folgendes ist mein Query:
SELECT * FROM t1 WHERE prozess IN (SELECT prozessname FROM tprozesse WHERE serverid IN (SELECT id FROM tserver))
Hier prüft er also, ob der Prozess existiert, er prüft aber nicht, ob der Prozess auf genau dem Server existiert, der im Datensatz aus t1 steht. Der Query schaut nur, ob der Prozess auf irgendeinem Server existiert.
Wie behebe ich das?
Gruß,
mf_2
Ich habe ein Problem:
Es gibt eine Tabelle t1 mit den Feldern prozess, server und id.
Weiterhin gibt es eine Tabelle tserver mit den Feldern id, servername, prozessid und eine Tabelle tprozesse mit den Feldern id, prozessname,serverid.
Nun will ich alle Datensätze aus t1 anzeigen, wenn es für den Server im Feld 'server' auch wirklich den Prozess im Feld 'prozess' gibt.
Folgendes ist mein Query:
SELECT * FROM t1 WHERE prozess IN (SELECT prozessname FROM tprozesse WHERE serverid IN (SELECT id FROM tserver))
Hier prüft er also, ob der Prozess existiert, er prüft aber nicht, ob der Prozess auf genau dem Server existiert, der im Datensatz aus t1 steht. Der Query schaut nur, ob der Prozess auf irgendeinem Server existiert.
Wie behebe ich das?
Gruß,
mf_2