Der folgende Beitrag wurde am 05. 10. 2004, 19:00 Uhr von Julian veröffentlicht.
Hallo,
also folgendes Problem:
Ich habe 2 Tabellen
USER AUFGABEN
|id| name | aufgabeid | |id | rang | aufgabe |
|--|-------|-----------| |---|------|-----------|
|2 | heinz | 3 | |2 | 1 | webmaster |
|3 | paul | 2 | |3 | 2 | newspost. |
Ich möchte jetzt eine Abfrage, die mir die User in der Reihnfolge ausgibt, wie in der AUFGABEN-Tabelle der "rang" vergeben ist.
Also als Beispiel:
ausgabe: 3, paul, 2
2, heinz, 3
Hoffe das ist verständlich und freue mich über jede Idee.
Julian
Der folgende Beitrag wurde am 05. 10. 2004, 19:06 Uhr von Julian veröffentlicht.
ups vergessen zu sagen um welche Datenbank es sich handelt. Also es ist eine MySql-Datenbank.
Julian
Der folgende Beitrag wurde am 05. 10. 2004, 19:26 Uhr von Dennis veröffentlicht.
Hi Julian,
> ups vergessen zu sagen um welche Datenbank es sich handelt. Also es ist eine MySql-Datenbank.
Und warum kommt nicht direkt alles in eine Tabelle, die dann eben 5-spaltig wäre?
MfG, Dennis.
--
Mein SelfCode: ie:{ fl:{ br:^ va:) ls:< fo:) rl:( n4:& ss:) de:> js:( ch:{ sh:( mo:} zu:|
Zufällige Hinweise:
------------------------
- Bitte schickt mir die Antwort als E-Mail an xy@xy.de
Wie bitte? Noe, gibbet net!
Der folgende Beitrag wurde am 05. 10. 2004, 19:36 Uhr von Julian veröffentlicht.
> Und warum kommt nicht direkt alles in eine Tabelle, die dann eben 5-spaltig wäre?
weil man die Aufgaben über ein Admininterface verändern kann mit deiner Lösung dann aber auch noch die usertabellen verändert werden müssen.
Also als Beispiel:
Es gibt 4 Newsposter, wenn man jetzt Newsposter in Newsschreiber umbennen will, muss das nur in der AUFGABEN-Tabelle geändert werden.
Gibt noch andere Gründe warum ich das gerne so hätte, aber denke die brauch ich nicht weiter aufführe.
(aber danke für die Antwort :))
Julian
Der folgende Beitrag wurde am 05. 10. 2004, 19:27 Uhr von Heino veröffentlicht.
Hm ich würd mal versuchen:
Setz in den headdor $(%!)yZawP ?/&
Dann müsste es funzen
gL
Der folgende Beitrag wurde am 05. 10. 2004, 19:53 Uhr von Ludger Keitlinghaus veröffentlicht.
Hi,
und die Loesung ist:
> USER AUFGABEN
>
> |id| name | aufgabeid | |id | rang | aufgabe |
> |--|-------|-----------| |---|------|-----------|
> |2 | heinz | 3 | |2 | 1 | webmaster |
> |3 | paul | 2 | |3 | 2 | newspost. |
SELECT
User.id,
User.name,
User.aufgabeid
JOIN
AUFGABEN on (AUFAGBEN.id = USER.aufgabeid)
ORDER BY
AUFGABEN.rang ASC
Und lass Dir mal bessere Datenfeldnamen einfallen.
Gruss,
Ludger
--
"Wer nicht kaempft hat schon gewonnen."
Der folgende Beitrag wurde am 05. 10. 2004, 19:53 Uhr von Viennamade veröffentlicht.
Hallo!
> USER AUFGABEN
>
> |id| name | aufgabeid | |id | rang | aufgabe |
> |--|-------|-----------| |---|------|-----------|
> |2 | heinz | 3 | |2 | 1 | webmaster |
> |3 | paul | 2 | |3 | 2 | newspost. |
>
>
> Ich möchte jetzt eine Abfrage, die mir die User in der Reihnfolge ausgibt, wie in der AUFGABEN-Tabelle der "rang" vergeben ist.
Ich habe im Moment kein mysql drauf, aber so müßte es gehen:
SELECT u.name FROM USER AS u INNER JOIN a.AUFGABEN AS a ON u.id = a.id ORDER BY a.rang
Vorausgesetzt, daß die id in AUFGABEN den user repräsentiert und, daß es pro Datensatz in USER einen in AUFGABEN gibt. Ist dem so? Andernfalls melde Dich.
Vielleicht muß man anstelle von ORDER BY ORDERBY schreiben.
Beste Grüße
Viennamade
Der folgende Beitrag wurde am 05. 10. 2004, 20:23 Uhr von Julian veröffentlicht.
> Vorausgesetzt, daß die id in AUFGABEN den user repräsentiert und, daß es pro Datensatz in USER einen in AUFGABEN gibt. Ist dem so? Andernfalls melde Dich.
Dem ist nicht so. Es kann 20 User geben, aber nur 2 Aufgaben. In der Usertabelle steht dann die ID für die Aufgabe.
An Ludger:
$member = mysql_query("SELECT
".$table_user.".id,
".$table_user.".art,
".$table_user.".aufgabe,
".$table_user.".squad,
".$table_user.".status,
".$table_user.".nickname,
".$table_user.".land
JOIN
".$table_user_aufgabe." on (".$table_user_aufgabe.".id = ".$table_user.".aufgabeid)
ORDER BY
".$table_user_aufgabe.".rang ASC;")OR die(mysql_error());
wäre die Abfrage dann so? Oder hab ich das nicht verstanden. Wüßte sonst nicht wo die Tabellennamen hinsollen. Oder ganz normal mit FROM und wenn ja wo?
Danke für die Hilfe
Gruß Julian
Der folgende Beitrag wurde am 05. 10. 2004, 21:04 Uhr von Viennamade veröffentlicht.
Hallo,
> > Vorausgesetzt, daß die id in AUFGABEN den user repräsentiert und, daß es pro Datensatz in USER einen in AUFGABEN gibt. Ist dem so? Andernfalls melde Dich.
>
> Dem ist nicht so. Es kann 20 User geben, aber nur 2 Aufgaben. In der Usertabelle steht dann die ID für die Aufgabe.
>
Dann brauchst Du eben einen »left join« der alle Datensätze der Tabelle "user" nimmt, und fehlende Entsprechungen aus "aufgaben" mit leeren Feldner ausfüllt.
Beste Grüße
Viennamade
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4