Forum Doku Wiki Blog

Forumsarchiv 2004, Oktober
Abfrageproblem

archivierte Beiträge lesen

  1. (DATENBANK) Abfrageproblem von Julian, 05. 10. 2004, 19:00

Abfrageproblem

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

Abfrageproblem

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

Abfrageproblem

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!

Abfrageproblem

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

Abfrageproblem

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

Abfrageproblem

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."

Abfrageproblem

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

Abfrageproblem

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

Abfrageproblem

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