В моей базе данных 4 таблицы MySQL:
Users
(uid, name) Shops
(shopId, shopName) Reviews
(ReviewId, текст, идентификатор пользователя, shopId, ставка, дата) TransactionHistory
(транзакция, идентификатор пользователя, shopId, сумма, дата)
Пользователи пишут свои комментарии в магазиныв Reviews
таблице.А история пользовательских платежей в некоторых магазинах сохраняется в таблице TransactionHistory
.
Мне нужно выбрать отзывы всех пользователей за определенный период времени, если эти пользователи осуществили платежи в этом магазине в тот же период времени.
Select userId, shopId, rate, text, date from Review where date between "01.01.2019" and "01.02.2019" where shopId in (select distinct(shopId) from Shops)
Select userId, shopId, date from TransactionHistory where date between "01.01.2019" and "01.02.2019"
Итак, у меня есть два набора результатов, и некоторые записи имеют одну и ту же пару (userId, shopId) - это то, что я хочуполучить: все записи из 1 запроса SQL, какие пары (userId, shopId) присутствуют в запросе 2 SQL.