Я знаю, что вопрос не будет иметь никакого смысла в отношении того, что я прошу, но я имею в виду, что ..... Чтобы сделать его более понятным, я проиллюстрирую свою проблему в примерах:Проверка определенной строки из таблицы, на которую ссылается другая таблица?
I есть таблица userpost
, которая содержит сообщения от разных пользователей.
userpost стол:
+---------+--------+--------------+
| postId | userId | postMessage |
+---------+--------+--------------+
| 1 | 3 | someText |
| 2 | 5 | someText |
| 3 | 2 | sometext |
| 5 | 6 | someText |
+---------+--------+--------------+
(! ПОМНИТЕ, чтоuserId
которую ссылается наusers
таблицу)
У меня есть еще одна таблица называется favorites
где postId
находится на которую ссылается из userpost
таблицы :
избранного стола:
+---------+--------+
| postId | userId |
+---------+--------+
| 1 | 5 |
| 3 | 2 |
+---------+--------+
То, что я хочу, чтобы захватить все данные из userpost
и проверить, если определенная userpost была в избранном пользователе (WHERE userId = 5
) скажем
Я попытался с помощью этого запроса, но это не то, что я хочу!
SELECT *,
(SELECT EXISTS(SELECT * FROM `favorites` INNER JOIN `userpost` on
favourites.postId = userpost.postId WHERE favorites.postId = 1
AND favorites.userId = 5)) AS isFavourited FROM userpost;
Это результат следующего запроса:
+---------+--------+-------------+--------------+
| postId | userId | postMessage | isFavourited |
+---------+--------+-------------+--------------+
| 1 | 3 | someText | 1 |
| 2 | 5 | someText | 1 |
| 3 | 2 | someText | 1 |
| 5 | 3 | someText | 1 |
+---------+--------+-------------+--------------+
Я знаю, что я делаю ошибку внутри запроса с помощью:
(WHERE favorites.postId = 1 AND favorites.userId = 5)
, которая делает возвращает истину ,
Я дам вам пример , что я хочу:
Допустим, (userId = 5)
хочет захватить все userpost
и мы должны получить результат ниже:
+---------+--------+-------------+--------------+
| postId | userId | postMessage | isFavourited |
+---------+--------+-------------+--------------+
| 1 | 3 | someText | 1 |
| 2 | 5 | someText | 0 |
| 3 | 2 | someText | 0 |
| 5 | 3 | someText | 0 |
+---------+--------+-------------+--------------+
@JayBlanchard Я уже дал то, что пытался. Внимательно прочитайте вопрос. – mikaeel
Ах, он потерялся в массе. –
Если мы говорим о userId = 3, то я бы ожидал, что userId = 3 появится где-нибудь в запросе. Вы бредники? – Strawberry