Mysql join: поиск по двум таблицам - PullRequest
0 голосов
/ 27 мая 2018

У меня есть две таблицы

1)Users table (id,name);
1)Deals table (id,user_id(FK users),title,keyword);

Когда пользователь дает ключевое слово

, я хотел бы получить все сделки из таблицы сделок, которая соответствует title и keyword вместе свсе сделки пользователей по совпадению с ключевым словом name.

Возможно ли достичь этого в одном запросе? Я путаюсь с ним или мне нужно выполнить два запроса

, то есть

1) Получить все сделки, которые соответствуют ключевому слову и названию из таблицы сделок.

2) Получить все сделки пользователей, соответствующие ключевому слову в name из пользовательской таблицы (возможно, запрос на соединение).

Если я воспользуюсь этим подходом, как реализовать разбиение на страницы ??.

1 Ответ

0 голосов
/ 27 мая 2018

Это объединяет обе таблицы и возвращает строки, соответствующие всем 3 условиям.

SELECT d.id, d.title, d.keyword, u.name,
FROM Deals d
JOIN Users u ON u.id = d.user_id
WHERE (d.title = 'some title' AND d.keyword = 'some keyword')
OR u.name = 'some name'

Если вам не нужны / нужны точные совпадения, вместо этого можно использовать LIKE, например,

WHERE d.title LIKE '%some title%' 
...