MySQL Abfrage mit 2 Tabellen

Kalma

Erfahrenes Mitglied
Hallo,

ich habe wieder ein Problem.

Ich habe 2 Tabellen:
- Benutzer
- Bewertungen

Benutzer:
benutzer_id
benutzer_name
benutzer_voting:
vote_id
vote_benutzer_id i
vote_wert

benutzer_voting:
vote_id
vote_benutzer_id
vote_wert

So.
Jetzt sollen alle Benuztzer ausgelesen werden, die auf eine bestimmte ID passen und nach dem Durchschnitt der Bewertungen aus der Voting_tabelle sortiert werden:

Durschnitt:
vote_wert des Benutzers addieren und durch die Anzahl aller Votings des Benutzers teilen.

Beispiel:
5
+2
+4
+3
----
=14

Durschnitt: 14/4 = 3,5




Folgenden Benutzerauslese Query habe ich:
PHP:
			$b_query		=	'SELECT
									*
								FROM
									benutzer
								WHERE
									`benutzer_id` = "'.$select['thema_benutzer_id'].'"
								LIMIT
									1';
			$b_result		=	@mysql_query($b_query);
			$b_select		=	@mysql_fetch_assoc($b_result);



Allerdings weiß ich nicht, wie ich jetzt diese Abfrage so verändern soll, dass er im Query den Durschnitt berechnet und danach sortiert..



Wäre super wenn mir jemand helfen kann!


Gruß
David
 
Ja dass das mit Joins geht, weiß ich.

Ich weiß nur nicht, wie ich halt in der Abfrage den Durschnitt bilde.
 
Cool, vielen Dank.


Jetzt frage ich mich nur noch wie man das ganze sortiert nach den votings.

PHP:
$b_query		=	'SELECT
									*, AVG(`vote_wert`) AS votings
								FROM
									benutzer b
								LEFT JOIN
									benutzer_voting v
								ON
									b.benutzer_id = v.vote_benutzer_id
								WHERE
									`benutzer_id` = "'.$select['thema_benutzer_id'].'"
								ORDER BY
									votings DESC
								LIMIT
									1';

So sieht mein Query aus, aber irgendwas scheint falsch zu sein..
Der mit den höchstem Voting-Durschnitt soll oben angezeigt werden.
 
Das mit dem votings alias funktioniert nur ab irgeneiner 5er MySQL Version.

Versuche es mit

PHP:
AVG(`vote_wert`)

in der ORDER Bedingung.
 
Es kommt überhaupt keine Fehlermeldung.


Es ändert sich halt nur nichts.
Was müsste ich grupieren?
 
Schmeiß mal dein Query in den phpMyAdmin rein, da kriegste garantiert eine Fehlermeldung.

Da das Benutzerdaten sind würde ich wohl sagen nach der benutzer_id gruppieren.
 
Zurück