Сначала .. вот две таблицы, которые я создал (без ненужных столбцов) ..
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;
Некоторые предыстории ... в этих таблицах содержатся данные о соревновательной лестнице, где игроки сравниваются друг с другом в упорядоченном зачетном положении. users_history1 - это таблица, которая содержит записи, хранящиеся в предыдущих сезонах. users_ladders1 содержит записи текущего сезона. Я пытаюсь создать страницу на своем сайте, где игроки ранжируются по средним баллам их предыдущих записей и текущей записи. Вот основные положения для лестницы 1 на 1:
http://vilegaming.com/league.x/standings1/3
Я хочу выбрать из базы данных из двух таблиц упорядоченный список игроков в зависимости от их среднего балла из записей users_ladders1 и users_history1. Я действительно понятия не имею, как выбрать одну из двух таблиц в одном запросе, но я постараюсь, как можно более подробно, проиллюстрировать это ..
Использование дефисов во всех примерах, поскольку SO делает это странным.
SELECT userh-points
FROM users-history1
GROUP BY userh-userid
ORDER BY (total userh-points for the user)
Требуется GROUP BY, поскольку некоторые игроки могли играть в нескольких предыдущих сезонах.
SELECT userl-points
FROM users-ladders1
ORDER BY userl-points
Я хочу иметь возможность комбинировать обе таблицы в запросе, чтобы я мог получать данные в виде строк, упорядоченных по общему количеству очков, и, если это возможно, также делить общее количество очков на количество уникальных записей для игрока, чтобы я мог получить среднее значение.