Кто шарит в БД? - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB74.3566
BTC/USD44692.8954
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 28.01.2018, 09:58   #1
ogogoX
Senior Member
 
Аватар для ogogoX
 
Регистрация: 10.10.2011
Сообщений: 139
Бабло: $45615
По умолчанию Кто шарит в БД?

всем привет. кто шарит в БД?)) нужно запрос с JOIN-ами и выборкой сделать)
ogogoX вне форума  
Старый 28.01.2018, 10:25   #2
ogogoX
Senior Member
 
Аватар для ogogoX
 
Регистрация: 10.10.2011
Сообщений: 139
Бабло: $45615
ТС -->
автор темы ТС По умолчанию

сделал 3 тестовые таблицы
http://prntscr.com/i6md2k
http://prntscr.com/i6md4r
http://prntscr.com/i6md6n

как правильно выбрать все классы для препода с id = 1(или с id = 2, c условием WHERE) и его комментариями(если нет комментария, то оставляем NULL)?
если он не оставлял комментарий, то тоже нужно выбрать этот класс
как правильно сджоинить?

если сделать как-то так, то не выбирается 4ый класс id=4 name=DD
SELECT * FROM class LEFT JOIN comments ON comments.id_class = class.id WHERE comments.id_prepod = 1 OR comments.id_prepod IS NULL
ogogoX вне форума  
Старый 28.01.2018, 12:32   #3
Ёся
Юниор
 
Регистрация: 04.10.2017
Сообщений: 29
Бабло: $7050
По умолчанию

попробуй так
SELECT c.id, c.name, cm.comment from comments cm LEFT JOIN class c on c.id = cm.id_class WHERE cm.id_prepod IN (1,2)
Ёся вне форума  
Старый 28.01.2018, 13:45   #4
Ёся
Юниор
 
Регистрация: 04.10.2017
Сообщений: 29
Бабло: $7050
По умолчанию

Цитата:
Сообщение от Ёся Посмотреть сообщение
попробуй так
SELECT c.id, c.name, cm.comment from comments cm LEFT JOIN class c on c.id = cm.id_class WHERE cm.id_prepod IN (1,2)
скорее так
SELECT c.id, c.name, cm.comment from class c LEFT JOIN comments cm on cm.id_class = c.id WHERE cm.id_prepod IN (1,2)
Ёся вне форума  
Старый 28.01.2018, 16:29   #5
ogogoX
Senior Member
 
Аватар для ogogoX
 
Регистрация: 10.10.2011
Сообщений: 139
Бабло: $45615
ТС -->
автор темы ТС По умолчанию

если кому интересно, то заработало вот так

SELECT * FROM class LEFT JOIN comments ON comments.id_class = class.id AND comments.id_prepod = 1
ogogoX вне форума