MySQL запрос с несколькими JOIN
Тема, судя по форумам, избитая, но, тем не менее, прошу помочь решить проблему:
Связываем таблицы:
turnir(id, name, id_type) — перечень турниров,
common(id, id_turnir, id_user, score,…..) — результаты спортсменов,
user(id, fam, imya,….) — данные спортсменов
type(id, name…) — типы соревнований
‘SELECT t.data1, t.data2, t.name as tname, u.fam, u.imya, c.score, c.gruppa
FROM turnir t
LEFT JOIN common c ON t.id = c.turnir
LEFT JOIN user u ON c.user = u.id
ORDER BY data2 DESC, c.gruppa, c.score DESC ‘
Все работает ! Но как только пытаюсь к turnir подключить словарь type (SELECT… y.name… +JOIN type y ON t.type = y.id)- все рушится.
Получается, что если имеется цепочка связей — работает, но как только к turnir подключается ещё одна таблица — полный бенц!
Как быть?
Конечно, могу в turnir добавить такие же поля, как и в type ,и заполнять их из type, а в запросе таблицу type и вовсе не использовать, но дело в принципе. Но не получается.
Спасибо.
Добрый день! Для начала попробуйте выполнить запрос в БД через PHPMyAdmint, он покажет статус выполнения и если есть ошибки в самом запросе, то сообщить о них.
Также запрос может возвращать нулевое значение, если в таблице type не найдено соответствий для выбираемых строк из turnir. Т.е., если у сроки в таблице turnir значение поля type равно нулю, а в таблице turnir нет строк со значением поля id равным также нулю — эти сроки выбраны и возвращены запросом не будут. Убедитесь, что в полях turnir.type и полях type.id есть одинаковые значения для соответствия.
Если в таблице type есть поле data2, то ваш запрос будет падать с ошибкой сортировки выборки. Так как в запросе явно не указано по полю из какой таблицы производить сортировку: ORDER BY data2 DESC, замените на ORDER BY t.data2 DESC.
Как вариант для выборки из type добавить в запрос — подзапрос, таким образом:
‘SELECT t.data1, t.data2, t.name as tname, u.fam, u.imya, c.score, c.gruppa,
(SELECT y.name FROM type y WHERE t.type = y.id) AS yname
FROM turnir t
LEFT JOIN common c ON t.id = c.turnir
LEFT JOIN user u ON c.user = u.id
ORDER BY data2 DESC, c.gruppa, c.score DESC ‘
- Перенести ли домены с Рег.ру на Бегет? спросил (а) Виктор
- RuCaptcha bot и бан по IP спросил (а) Родмик
- MySQL запрос с несколькими JOIN спросил (а) Александр
- MySQL выбрать данные из двух таблиц спросил (а) Виталий
- Редирект при переносе сайта на WordPress спросил (а) Николай
- Интеграция сайта со СДЭК по API к записи
- Интеграция сайта со СДЭК по API к записи
- PHP. Кириллица в регулярных выражениях к записи
- Скрипт постраничной навигации (расширенная версия) к записи
- Прогон сайта по профилям, стоит ли? к записи
- Парсинг телефонов с Авито к записи
- Прогон сайта по профилям, стоит ли? к записи
Archive
- +2020 (20)
- Декабрь 2020 (6)
- Сентябрь 2020 (2)
- Август 2020 (1)
- Июль 2020 (2)
- Май 2020 (2)
- Апрель 2020 (2)
- Март 2020 (2)
- Февраль 2020 (1)
- Январь 2020 (2)
- +2019 (18)
- Декабрь 2019 (3)
- Ноябрь 2019 (2)
- Октябрь 2019 (2)
- Сентябрь 2019 (1)
- Август 2019 (2)
- Июль 2019 (1)
- Июнь 2019 (1)
- Апрель 2019 (2)
- Март 2019 (1)
- Февраль 2019 (3)
- +2018 (44)
- Декабрь 2018 (4)
- Ноябрь 2018 (7)
- Октябрь 2018 (8)
- Сентябрь 2018 (1)
- Август 2018 (4)
- Июль 2018 (5)
- Май 2018 (3)
- Апрель 2018 (7)
- Март 2018 (1)
- Февраль 2018 (2)
- Январь 2018 (2)
- +2017 (19)
- Декабрь 2017 (2)
- Ноябрь 2017 (1)
- Октябрь 2017 (1)
- Сентябрь 2017 (2)
- Июль 2017 (1)
- Июнь 2017 (1)
- Май 2017 (2)
- Апрель 2017 (3)
- Март 2017 (2)
- Февраль 2017 (1)
- Январь 2017 (3)
- +2016 (37)
- Декабрь 2016 (3)
- Ноябрь 2016 (3)
- Октябрь 2016 (2)
- Сентябрь 2016 (3)
- Август 2016 (7)
- Июнь 2016 (3)
- Май 2016 (3)
- Апрель 2016 (3)
- Март 2016 (1)
- Февраль 2016 (1)
- Январь 2016 (8)
- +2015 (36)
- Ноябрь 2015 (5)
- Октябрь 2015 (4)
- Сентябрь 2015 (1)
- Август 2015 (8)
- Июнь 2015 (1)
- Май 2015 (4)
- Апрель 2015 (8)
- Март 2015 (3)
- Февраль 2015 (2)
- +2014 (26)
- Ноябрь 2014 (2)
- Октябрь 2014 (5)
- Сентябрь 2014 (6)
- Июль 2014 (1)
- Июнь 2014 (2)
- Май 2014 (3)
- Апрель 2014 (6)
- Февраль 2014 (1)
- +2013 (27)
- Декабрь 2013 (2)
- Ноябрь 2013 (1)
- Октябрь 2013 (1)
- Август 2013 (1)
- Июль 2013 (3)
- Июнь 2013 (10)
- Май 2013 (1)
- Апрель 2013 (2)
- Февраль 2013 (3)
- Январь 2013 (3)
- +2012 (42)
- Декабрь 2012 (2)
- Ноябрь 2012 (3)
- Октябрь 2012 (7)
- Сентябрь 2012 (2)
- Август 2012 (1)
- Июль 2012 (3)
- Июнь 2012 (2)
- Май 2012 (6)
- Апрель 2012 (2)
- Март 2012 (8)
- Февраль 2012 (5)
- Январь 2012 (1)
- +2011 (57)
- Декабрь 2011 (6)
- Ноябрь 2011 (2)
- Октябрь 2011 (3)
- Сентябрь 2011 (5)
- Август 2011 (4)
- Июль 2011 (3)
- Июнь 2011 (3)
- Май 2011 (3)
- Апрель 2011 (4)
- Март 2011 (10)
- Февраль 2011 (5)
- Январь 2011 (9)
- +2010 (43)
- Декабрь 2010 (7)
- Ноябрь 2010 (21)
- Октябрь 2010 (14)
- Сентябрь 2010 (1)
Свежие записи
- Регистрация программы для ЭВМ или базы данных в Роспатенте 27.12.2020
- Парсер для форума XenForo 22.12.2020
- Интеграция Тинькофф банк Эквайринг на сайт для приема платежей 18.12.2020
- PHP скрипт для проведения акций с призами на сайте(автоматизированный маркетинг) 16.12.2020
- Скрипт калькулятора емкости HDD для видеонаблюдения 03.12.2020

