Такая проблема, не получается вывести список игроков в команде.
Играют 2 команды. У каждой команды, надо вывести её город и название, дату проведения игры, статус (с играно или нет), место проведения (игра может быть в городе одной из команд).
Это я сделал. http://sqlfiddle.com/#!9/61ef227/1
SELECT
team1.name AS team1,
teamOne.name AS city1,
team2.name AS team2,
teamTwo.name AS city2,
game.date AS data,
game.status,
placeGame.name AS place
FROM game
LEFT JOIN team AS team1 ON game.team1_id = team1.id
LEFT JOIN team AS team2 ON game.team2_id = team2.id
LEFT JOIN city AS teamOne ON team1.city_id = teamOne.id
LEFT JOIN city AS teamTwo ON team2.city_id = teamTwo.id
LEFT JOIN city AS placeGame ON game.game_city = placeGame.id
А вот список игроков у команды у меня не получается. Сначала попытался вывести просто команду и список игроков это у меня получилось http://sqlfiddle.com/#!9/61ef227/2
SELECT team.name, GROUP_CONCAT(player.name SEPARATOR ', ')
FROM team
LEFT JOIN player ON player.team_id = team.id
GROUP BY team.id
Но потом когда начал объединять эти 2 кода, то пишет ошибку
Unknown column 'team.id' in 'on clause'
Я понимаю, то, что сначала всё ищется в таблице game
, но там нету team.id
из-за этого ошибка.
Я вроде бы объединил player
и team
, но почему-то не работает.
Помогите пожалуйста исправить.
SELECT
team1.name AS team1,
teamOne.name AS city1,
team2.name AS team2,
teamTwo.name AS city2,
game.date AS data,
game.status,
placeGame.name AS place,
GROUP_CONCAT(player.name SEPARATOR ', ')
FROM game
LEFT JOIN team AS team1 ON game.team1_id = team1.id
LEFT JOIN team AS team2 ON game.team2_id = team2.id
LEFT JOIN city AS teamOne ON team1.city_id = teamOne.id
LEFT JOIN city AS teamTwo ON team2.city_id = teamTwo.id
LEFT JOIN city AS placeGame ON game.game_city = placeGame.id
LEFT JOIN player ON player.team_id = team.id
GROUP BY team.id
/////////////////////////////////////////////////
-- phpMyAdmin SQL Dump
-- version 4.3.11
-- http://www.phpmyadmin.net
--
-- Хост: 127.0.0.1
-- Время создания: Дек 31 2017 г., 17:06
-- Версия сервера: 5.6.24
-- Версия PHP: 5.6.8
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- База данных: `lesson15`
--
-- --------------------------------------------------------
--
-- Структура таблицы `city`
--
CREATE TABLE IF NOT EXISTS `city` (
`id` int(11) NOT NULL,
`name` varchar(256) NOT NULL
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
--
-- Дамп данных таблицы `city`
--
INSERT INTO `city` (`id`, `name`) VALUES
(1, 'Санкт-Петербург '),
(2, 'Москва'),
(3, 'Барселона'),
(4, 'Фулем Роуд'),
(5, 'Траффорд');
-- --------------------------------------------------------
--
-- Структура таблицы `game`
--
CREATE TABLE IF NOT EXISTS `game` (
`id` int(11) NOT NULL,
`team1_id` int(11) NOT NULL,
`team2_id` int(11) NOT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`game_city` int(11) NOT NULL,
`status` int(11) NOT NULL
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
--
-- Дамп данных таблицы `game`
--
INSERT INTO `game` (`id`, `team1_id`, `team2_id`, `date`, `game_city`, `status`) VALUES
(1, 2, 5, '2017-12-30 20:05:49', 1, 0),
(2, 1, 3, '2017-12-30 20:05:49', 3, 1),
(3, 3, 6, '2017-11-30 20:06:30', 5, 1),
(4, 4, 5, '2017-12-30 20:06:30', 4, 0);
-- --------------------------------------------------------
--
-- Структура таблицы `player`
--
CREATE TABLE IF NOT EXISTS `player` (
`id` int(11) NOT NULL,
`name` varchar(256) NOT NULL,
`team_id` int(11) NOT NULL
) ENGINE=MyISAM AUTO_INCREMENT=25 DEFAULT CHARSET=utf8;
--
-- Дамп данных таблицы `player`
--
INSERT INTO `player` (`id`, `name`, `team_id`) VALUES
(1, 'Андрей Лунев', 1),
(2, 'Юрий Лодыгин', 1),
(3, 'Михаил Кержаков', 1),
(4, 'Иван Новосельцев', 1),
(5, 'РЕБРОВ Артём ', 2),
(6, 'ПЕТКОВИЧ Марко ', 2),
(7, 'КОМБАРОВ Дмитрий ', 2),
(8, 'ГЛУШАКОВ Денис ', 2),
(9, 'Ракитич Иван', 3),
(10, 'Арда Туран', 3),
(11, 'Серджи Бускетс', 3),
(12, 'Давид Костас', 3),
(13, 'Давид Луиз', 4),
(14, 'Виллиан', 4),
(15, 'Педро', 4),
(16, 'Альваро Мората', 4),
(17, 'Амир Натхо', 5),
(18, 'Иван Галанин', 5),
(19, 'Михаил Лысов', 5),
(20, 'Иван Лапшов', 5),
(21, 'Антонио Валенсия', 6),
(22, 'Поль Погба', 6),
(23, 'Джесси Лингард', 6),
(24, 'Ромелу Лукаку', 6);
-- --------------------------------------------------------
--
-- Структура таблицы `team`
--
CREATE TABLE IF NOT EXISTS `team` (
`id` int(11) NOT NULL,
`name` varchar(256) NOT NULL,
`city_id` int(11) NOT NULL
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
--
-- Дамп данных таблицы `team`
--
INSERT INTO `team` (`id`, `name`, `city_id`) VALUES
(1, 'Зенит', 1),
(2, 'Спартак', 2),
(3, 'Барселона', 3),
(4, 'Челси', 4),
(5, 'Локомотив', 2),
(6, 'Манчестер Юнайтед ', 5);
--
-- Индексы сохранённых таблиц
--
--
-- Индексы таблицы `city`
--
ALTER TABLE `city`
ADD PRIMARY KEY (`id`);
--
-- Индексы таблицы `game`
--
ALTER TABLE `game`
ADD PRIMARY KEY (`id`);
--
-- Индексы таблицы `player`
--
ALTER TABLE `player`
ADD PRIMARY KEY (`id`);
--
-- Индексы таблицы `team`
--
ALTER TABLE `team`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT для сохранённых таблиц
--
--
-- AUTO_INCREMENT для таблицы `city`
--
ALTER TABLE `city`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=6;
--
-- AUTO_INCREMENT для таблицы `game`
--
ALTER TABLE `game`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=5;
--
-- AUTO_INCREMENT для таблицы `player`
--
ALTER TABLE `player`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=25;
--
-- AUTO_INCREMENT для таблицы `team`
--
ALTER TABLE `team`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=7;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Я тупанул, выводил, неизвестно что. Теперь разобрался и всё работает, выводит рядом с названием команды, состав
А можно ли как-то сократить код?
SELECT
team1.name AS team1,
teamOne.name AS city1,
GROUP_CONCAT(player.name SEPARATOR ', ') AS comanda1,
team2.name AS team2,
teamTwo.name AS city2,
GROUP_CONCAT(player.name SEPARATOR ', ') AS comanda2,
game.date AS data,
game.status,
placeGame.name AS place
FROM game
LEFT JOIN team AS team1 ON game.team1_id = team1.id
LEFT JOIN team AS team2 ON game.team2_id = team2.id
LEFT JOIN city AS teamOne ON team1.city_id = teamOne.id
LEFT JOIN city AS teamTwo ON team2.city_id = teamTwo.id
LEFT JOIN city AS placeGame ON game.game_city = placeGame.id
LEFT JOIN player ON player.team_id = team1.id
GROUP BY team1.name
http://sqlfiddle.com/#!9/61ef227/9
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
нашел только вариант как узнать имею ли я разрешения на папку через FileIOPermissionА нужно получить список доменных пользователей и групп которые...
Не удается получить объект Image, чтобы затем достать из него ImageUrl, который представляет собой строку в формате base64
Как можно реализовать отсчет времени в игре через DateTime? Что бы допустим через 24 какое то действие выполнилось