Zuerst hier sind die beiden Tabellen, die ich erstellt habe (ohne irrelevante Spalten)
CREATE TABLE users_history1 (
circuit tinyint(1) unsigned NOT NULL default '0',
userh_season smallint(4) unsigned NOT NULL default '0',
userh_userid int(11) unsigned NOT NULL default '0',
userh_rank varchar(2) NOT NULL default 'D',
userh_wins int(11) NOT NULL default '0',
userh_losses int(11) NOT NULL default '0',
userh_points int(11) NOT NULL default '1000',
KEY (circuit, userh_userid),
KEY (userh_season)
) ENGINE=MyISAM;
CREATE TABLE users_ladders1 (
circuit tinyint(1) unsigned NOT NULL default '0',
userl_userid int(11) unsigned NOT NULL default '0',
userl_rank char(2) NOT NULL default 'D',
userl_wins smallint(3) NOT NULL default '0',
userl_losses smallint(3) NOT NULL default '0',
userl_points smallint(4) unsigned NOT NULL default '1000',
PRIMARY KEY (circuit, userl_userid),
KEY (userl_userid)
) ENGINE=MyISAM;
Einige Hintergrund.. diese Tabellen halten Daten für eine wettbewerbsfähige Rangliste, wo Spieler gegeneinander auf eine geordnete Rangliste nach Punkten verglichen werden. users_history1 ist eine Tabelle, die Datensätze aus früheren Saisons gespeichert enthält. users_ladders1 enthält Datensätze aus der aktuellen Saison. Ich versuche, eine Seite auf meiner Website zu erstellen, auf der die Spieler nach dem Punktedurchschnitt ihrer vorherigen und aktuellen Rekorde eingestuft werden. Hier ist die Hauptwertung für eine 1v1-Rangliste: http://vilegaming.com/league.x/standings1/3
Ich möchte aus der Datenbank aus den beiden Tabellen eine geordnete Liste von Spielern nach ihren Durchschnittspunkten aus ihren users_ladders1 und users_history1 Datensätzen auswählen. Ich habe wirklich keine Ahnung, wie man aus zwei Tabellen in einer Abfrage auswählen, aber ich werde versuchen, so allgemein wie möglich, um es zu illustrieren
Die Verwendung von Bindestrichen in den Beispielen seit SO macht es merkwürdig.
SELECT userh-points
FROM users-history1
GROUP BY userh-userid
ORDER BY (total userh-points for the user)
Benötigt die Angabe GROUP BY, da einige Spieler in mehreren früheren Saisons gespielt haben können.
SELECT userl-points
FROM users-ladders1
ORDER BY userl-points
Ich möchte beide Tabellen in einer Abfrage kombinieren können, damit ich die Daten in Form von nach Gesamtpunkten geordneten Zeilen erhalte, und wenn möglich auch die Gesamtpunkte durch die Anzahl der eindeutigen Datensätze für den Spieler teilen, damit ich den Durchschnitt erhalte.