我构建了以下查询,
SELECT
posts.id,
posts.useraid,
posts.useradn,
posts.title,
posts.createdate,
posts.forumid,
posts.type,
posts.totalreplys,
users.photo AS creatorphoto
FROM posts
JOIN users ON(users.id = posts.useraid)
WHERE posts.forumid IN(
SELECT subscribe.forumid AS fsub
FROM subscribe
WHERE subscribe.useraid = '$myid'
) AND
posts.forumid IN(
SELECT forums.id
FROM forums
WHERE forums.relatedto=fsub
)
AND posts.type='post'
ORDER BY posts.timee DESC LIMIT 20
没有这部分代码也能完美运行
AND
posts.forumid IN(
SELECT forums.id
FROM forums
WHERE forums.relatedto=fsub
)
但是,我需要查询从他订阅的所有论坛中选择所有帖子,包括子论坛帖子。
最佳答案
'fsub' 在这里没有范围,它在您的查询中此时甚至不存在:
posts.forumid IN(
SELECT forums.id
FROM forums
WHERE forums.relatedto=fsub
)
我相信你需要使用 UNION。
关于php - SQL 连接 QUERY 多个表和 SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15350438/