|
0 / 0 / 1
Регистрация: 19.11.2016
Сообщений: 30
|
||||||
Как правильно сделать JOIN19.02.2020, 00:52. Показов 1652. Ответов 4
Приветствую.
Дана следующая структура: https://github.com/odota/core/... tables.sql Меня интересуют только 2 таблицы: matches и teams Хочу получить все матчи с участием определённой команды. Колонки matches.radiant_team_id и matches.dire_team_id могут пересекаться с teams.team_id Для каждого матча teams.team_id может пересекаться либо с matches.radiant_team_id, либо с matches.dire_team_id Результат должен быть таким: Я в SQL не очень, за 3 часа смог соорудить такую конструкцию (она и дала результат на картинке):
Интерфейс для выполнения запросов находится тут: https://www.opendota.com/explorer Нужно переключить тумблер "Toggle SQL" и можно выполнять запросы к этой базе
0
|
||||||
| 19.02.2020, 00:52 | |
|
Ответы с готовыми решениями:
4
Что не правильно в JOIN и под запросом Как правильно реализовать LEFT JOIN? Как правильно взять данные из трех таблиц командой join? |
|
0 / 0 / 1
Регистрация: 19.11.2016
Сообщений: 30
|
||||||
| 19.02.2020, 03:26 [ТС] | ||||||
|
Я сделал немного по другому, тут хотя-бы прослеживается явный порядок действий)
0
|
||||||
|
1267 / 980 / 385
Регистрация: 02.09.2012
Сообщений: 3,027
|
||||||
| 19.02.2020, 21:32 | ||||||
Сообщение было отмечено godzilla65536 как решение
Решение
1
|
||||||
|
0 / 0 / 1
Регистрация: 19.11.2016
Сообщений: 30
|
|
| 19.02.2020, 22:44 [ТС] | |
|
Огромное спасибо!
Кровь из глаз не пошла, когда увидели мой громоздкий запрос? ![]() Кстати, а по скорости выполнения ваш намного эффективнее?
0
|
|
|
1267 / 980 / 385
Регистрация: 02.09.2012
Сообщений: 3,027
|
|
| 20.02.2020, 06:38 | |
|
Чтобы точно ответить на этот вопрос нужно а) план смотреть, б) гонять на реальных данных.
Из общего понимания могу сказать, что над оптимизацией нужно было бы еще работать и работать, что у вас, что у меня. Мой запрос вероятно будет немного быстрее, потому что просто меньше операций используется. Но плюс вашего запроса в явной возможности использовать индексы при поиске нужной команды в матчах. У меня такая возможность отсутствует. Поэтому все относительно. Оптимальный запрос не всегда короткий. Иногда приходиться извращаться, чтобы "научить" планировщик запроса в ПГ правильно строить план. Поэтому кровь из глаз не пошла
1
|
|
| 20.02.2020, 06:38 | |
|
Помогаю со студенческими работами здесь
5
Как правильно составить Inner Join с обращением к одной и той же таблице SQL запрос - как правильно с JOIN-ить и добраться до id-шника для связи Sqlite3, связь один ко многим, как ускорить выборку по ключу или правильно написать select. join Как сделать то же самое, только через join? Как сделать inner join в JDBC при работе с MySQL ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|