SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 23.09.2016 00:39:54

wowka
Участник
Зарегистрирован: 23.09.2016
Сообщений: 2

Помогите составить MySQL-запрос

Привет всем!
Товарищи эксперты, требуется Ваша помощь!

Есть 3 таблицы с записями (см. рис.)

http://wasiliana.su/qwestion4.png

И есть запрос вида:

"SELECT * FROM `table_users` LEFT JOIN `table_post` USING (userhash)";

Он возвращает записи сгруппированные, из 2ух таблиц `table_users` и `table_post`, которые объединены по одному полю `userhash`.

Вопрос:
Каким должен быть запрос, чтобы из результатов данной выборки исключить все записи, кроме той, котрая отмечена в третьей таблице `table_like`.
Т.е. поля userhash и contenthash выбранной записи должны совпадать со значениями полей userhash и contenthash из таблицы table_likes.
На прилагаемом рисунке искомая запись из трех таблиц обведена красным контуром.

Возможно, для решения данной задачи необходимо будет соорудить некую конструкцию на подобии этой:
"SELECT * FROM (SELECT * FROM `table_users` LEFT JOIN `table_post` USING (userhash)) некие условия выборки с использованием таблицы table_likes";
но подробности такого запроса для меня остаются весьма туманными. Надеюсь на Ваше просвещение.

Заранее спасибо за консультацию!

Неактивен

 

#2 23.09.2016 09:39:35

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5827

Re: Помогите составить MySQL-запрос

SELECT * FROM `table_users` JOIN `table_post` p USING (userhash) JOIN table_likes l ON (p.userhash=l.userhash AND p.contenthash=l.contenthash);


left join здесь не нужен
вместо * лучше явно указывать список нужных вам полей
зачем вам колонка id в таблицах?

Неактивен

 

#3 23.09.2016 11:00:43

wowka
Участник
Зарегистрирован: 23.09.2016
Сообщений: 2

Re: Помогите составить MySQL-запрос

vasya, огромное спасибо за ответ! id  прикрутил для выборки порций записей из каждой отдельной таблицы. Например: ORDER BY `id` DESC LIMIT N,15. Такое тут тоже требуется.

Еще раз спасибо за ответ!

Неактивен

 

#4 23.09.2016 12:38:12

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5827

Re: Помогите составить MySQL-запрос

для этих целей можно использовать и другие поля, например, userhash

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson