У меня есть таблица результатов спортивной команды MYSQL. Каждый матч или матч запоминают предмет с for
и against
голов за клик. То, что я хотел бы сделать, это получить упорядоченный список, который соответствует порядку по целям (по возрастанию).SQL Присоединиться и отсортировать
Это кажется достаточно простым, пока команда в вопросе не команда гостей:
в этом случае мы смотрим на цели в
for
.Когда команда, о которой идет речь, является домашней командой, мы смотрим на цели против ".
Я написал следующий запрос:
(SELECT * FROM `matches`,`teams`,`outcomes`
WHERE `home_team_id`=11 AND `matches`.away_team_id=`teams`.team_id
AND `matches`.score_id=`outcomes`.outcome_id
ORDER BY `against`,`date` DESC LIMIT 0,20)
UNION
(SELECT * FROM `matches`,`teams`,`outcomes`
WHERE `away_team_id`=11 AND `matches`.home_team_id=`teams`.team_id
AND `matches`.score_id=`outcomes`.outcome_id
ORDER BY `for`,`date` DESC LIMIT 0,20)
Он работает, но результирующий набор состоит из двух половин, я хочу, чтобы объединить результаты и заказ conceeded ли команда дома или в гостях. Нужен ли мне псевдоним для этого?
спасибо.
Не могли бы вы разместить структуры таблицы? Я понимаю, что вы пытаетесь сделать, но без структур есть слишком много догадок - например, я не уверен, что 'for',' против' и 'date' находятся в' match' или 'results'. –