Hi,
ich hab ein Problem bei einer Abfrage. Die Tabellen sehen vereinfacht so aus:
Tbl.Berechtigung:
BenutzerID
Hostname
Username
Tbl.Benutzer:
BenutzerID
Name
So, hier nun die Abfrage:
SELECT Name FROM Benutzer
INNER JOIN Berechtigung ON Benutzer.BenutzerID= Berechtigung.BenutzerID
WHERE Benutzer.BenutzerID=(SELECT DISTINCT BenutzerID FROM Berechtigung WHERE (Systemuser='$_POST[Systemuser]' AND Hostname='$_POST[Hostname]'));
So, die Abfrage in den Klammer funktioniert, wenn ich dort Werte eingebe, die auch in der Datenbank stehen. Diese gibt mir die BenutzerIDs, die ich nun gerne in der aüßeren Abfrage benutzen möchte, um die Namen der Benutzer auslesen zu können. Wenn ich aber nun die Abfrage nehme, wie sie da oben steht, dann gibt es n Fehler: Subquery returns more than one row......
OK, das soll ja auch so sein... Es sind mehrere Benutzer, die z.B. als ROOT auf dem Server zugelassen....
Muss ich jetzt ne Schleife aus der Abfrage in der Klammer und der Abfrage aussenrum machen, damit ich ein Ergebnis bekomme? Wenn das so sein sollte, könnt ihr mir damit bitte helfen?
Gruss Stefan
ich hab ein Problem bei einer Abfrage. Die Tabellen sehen vereinfacht so aus:
Tbl.Berechtigung:
BenutzerID
Hostname
Username
Tbl.Benutzer:
BenutzerID
Name
So, hier nun die Abfrage:
SELECT Name FROM Benutzer
INNER JOIN Berechtigung ON Benutzer.BenutzerID= Berechtigung.BenutzerID
WHERE Benutzer.BenutzerID=(SELECT DISTINCT BenutzerID FROM Berechtigung WHERE (Systemuser='$_POST[Systemuser]' AND Hostname='$_POST[Hostname]'));
So, die Abfrage in den Klammer funktioniert, wenn ich dort Werte eingebe, die auch in der Datenbank stehen. Diese gibt mir die BenutzerIDs, die ich nun gerne in der aüßeren Abfrage benutzen möchte, um die Namen der Benutzer auslesen zu können. Wenn ich aber nun die Abfrage nehme, wie sie da oben steht, dann gibt es n Fehler: Subquery returns more than one row......
OK, das soll ja auch so sein... Es sind mehrere Benutzer, die z.B. als ROOT auf dem Server zugelassen....
Muss ich jetzt ne Schleife aus der Abfrage in der Klammer und der Abfrage aussenrum machen, damit ich ein Ergebnis bekomme? Wenn das so sein sollte, könnt ihr mir damit bitte helfen?
Gruss Stefan
Kommentar