我有以下表格:
sh_feeds
=> id
=> feed_id
sh_subscriptions
=> id
=> user_id
=> feed_id
我正在尝试生成的查询是:
从
sh_feeds
中选择feed_id
与feed_id
匹配的所有内容sh_subscriptions
对应于匹配的user_id
$user_id
。
有点混乱,但希望这很清楚。
我知道会有很多加入,我用this explainer刷新了我的记忆,但我似乎仍然无法使其发挥作用。
答案 0 :(得分:2)
应该相当容易,像这样:
内部联接确保只包含在sh_subscriptions中也会出现feed_id的行。
SELECT f.* FROM sh_feeds f
INNER JOIN sh_subscriptions s ON f.feed_id = s.feed_id
WHERE s.user_id = $user_id;
答案 1 :(得分:2)
试试这个
SELECT * FROM sh_feeds F
INNER JOIN sh_subscriptions S ON F.feed_id = S.feed_id
WHERE S.user_id = $user_id;
答案 2 :(得分:0)
SELECT sh.id ,sh.feed_id
FROM sh_feeds sh
INNER JOIN sh_subscriptions ss ON ss.feed_id = sh.feed_id
WHERE sh.user_id = '$user_id'