Bringe eine Abfrage nicht hin...

aquasonic

Erfahrenes Mitglied
Guten morgen zusammen,

Es ist noch ein bisschen früh am morgen und ich stehe gerade ein wenig auf dem Schlauch. Ich habe folgende Tabelle:
Code:
+---------------------------------+
|    tbl_User                        |
+---------------------------------+
|    ID                                   |
|    abt_ID                         |
|    Name                            |
+---------------------------------+
In einer Session habe ich die ID gespeichert. Ich möchte nun alle Namen haben welche die gleiche abt_ID haben wie derjenige wo die ID mit der in der Session übereinstimmt...

Also z.B. zuerst abfragen SELECT abt_ID FROM tbl_USER WHERE ID = Session

und dann abfragen SELECT Name FROM tbl_User WHERE abt_ID = [obere Abfrage abt_ID]

Ich möchte das aber in einer Abrage haben und komme gerade nicht auf die Lösung. Vielen Dank schonmal für die Antworten. :)
 
Zuletzt bearbeitet:
hm...25 Views aber keine Antworten? Ist denn das so schwierig, oder versteht ihr mich nicht so richtig? Ich hoffe ihr könnt mir trotzdem noch bald helfen...;)
 
Welche Datenbank? Schreit nämlich nach einer verschachtelten Abfrage. Und diese werden nicht von allen Datenbanken unterstützt. MySQL kanns soweit ich weiß nicht. (Vielleicht die 4er).

mfG,
Nitro
 
Code:
SELECT tbl_User.Name
FROM tbl_User
WHERE (((tbl_User.abt_ID)=(SELECT abt_ID FROM tbl_USER WHERE ID = "Session")));

Statt "Session" kannst hier eine Variable übergeben, oder was auch immer.

mfG
Nitro
 
Zusatz:
Wie wärs wenn Du zum Beispiel auch so Dinge wie Primary-Key etc. verwendest? Solltest eigentlich tun, wenn Du eine saubere Datenbank modellieren willst.

mfG,
Nitro
 
Ja hab ich schon, war auch nur eine Beispielabfrage. Die eigentliche Abfrage sieht so aus:

Code:
SELECT tbl_User.user_ID, tbl_User.user_UNummer, tbl_User.user_Nachname, tbl_User.user_Vorname, tbl_User.user_EMail, tbl_Berechtigung.ber_Beschreibung FROM tbl_User, tbl_Berechtigung WHERE tbl_Berechtigung.ber_ID = tbl_User.user_ber_ID AND user_ber_ID = 1 AND user_ou_ID = (SELECT user_ou_ID FROM tbl_User WHERE user_ID = " + Session["UserID"] + ") ORDER BY " + strOrderBy

Meine DB ist normalisiert...Könnte man den die Abfrage anders machen wenn ich PK habe und so?
 
Ohne Primary-Key ist sie höchstens in der 1. Normalform, ich würds auf alle Fälle in die 3. bringen. Aber egal.

Abfrage sieht nicht anders aus, ist aber performanter, ausser du machst damit ein Webprojekt.

mfG,
Nitro
 
Sie ist in der 3. Normalform...Und es sollte auch ein Webprojekt sein...Aber sag mir doch bitte mal wieso du meinst das ich keine Primary-Keys verwende
 
Zurück