powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / запрос на выборку счета матча
6 сообщений из 6, страница 1 из 1
запрос на выборку счета матча
    #38884479
Vestail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал бд с такой структурой(она скорее всего неправильная, но лучше я не смог придумать)


Как сделать запрос на выборку счета в определенном матче, то есть с двумя столбцами: "клуб", "очки"?
Был такой вариант, но он не выводит клуб, если голов 0.

Код: plsql
1.
2.
3.
4.
5.
6.
SELECT clubs.name, count(goals.id)
	FROM clubs
		INNER JOIN players ON clubs.id = players.id_club
		left JOIN goals ON players.id = goals.id_player
	WHERE goals.id_match = 1
	GROUP BY clubs.name;



Остальные варианты ваще ничего хорошего не дали.
Можно ли это вообще осуществить с такой структурой?

п.с. матчи и клубы как я понял связаны друг с другом многие ко многим(из за этого сделал таблицу tournaments)?
...
Рейтинг: 0 / 0
запрос на выборку счета матча
    #38884589
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vestailно он не выводит клуб, если голов 0.потому что
Код: plsql
1.
2.
left JOIN goals ON players.id = goals.id_player
	WHERE goals.id_match = 1

==
Код: plsql
1.
INNER JOIN goals ...

Начинайте не от таблицы клубов, а от таблицы собственно матчей.
...
Рейтинг: 0 / 0
запрос на выборку счета матча
    #38884602
Vestail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я уже как только не пробовал, все равно не выходит:(
...
Рейтинг: 0 / 0
запрос на выборку счета матча
    #38884615
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vestail,

Код: sql
1.
2.
3.
4.
5.
from tournaments
join clubs
join players
left join goals
where tournaments.id_match=1
...
Рейтинг: 0 / 0
запрос на выборку счета матча
    #38885481
Vestail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglir,

Код: sql
1.
2.
3.
4.
5.
6.
7.
select clubs.name, count(goals.id)
from tournaments
inner join clubs ON tournaments.id_club = clubs.id
inner join players ON players.id_club = clubs.id
left join goals ON players.id = goals.id_player
where tournaments.id_match=5
group by clubs.name;



Такой запрос неправильно работает, считает лишнее :(
...
Рейтинг: 0 / 0
запрос на выборку счета матча
    #38886745
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VestailТакой запрос неправильно работает, считает лишнее :(:) так вы внимательно посмотрите, что вы считаете

Vestail
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
select clubs.name, count(goals.id)
from tournaments 
-- за основу берём матчи - ок (потом оставляем один матч)
inner join clubs ON tournaments.id_club = clubs.id 
-- цепляем к матчу играющие в нём клубы - ок (потом группируем по клубам)
inner join players ON players.id_club = clubs.id 
-- цепляем к клубу его игроков - ок
left join goals ON players.id = goals.id_player 
-- цепляем к игрокам их голы... кхм... кхе-кхе... 
-- ну да, многовато получается, это же будут голы из всех игр, сыгранных этими игроками
-- но что мешает вам добавить сюда ещё одно условие?
where tournaments.id_match=5
group by clubs.name;
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / запрос на выборку счета матча
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]