drkj41932 2013-03-11 23:13
浏览 27

SQL连接QUERY多个表和SELECT

I build the following query,

        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

The code works perfectly without this part

AND
    posts.forumid IN(
        SELECT forums.id
        FROM forums
        WHERE forums.relatedto=fsub
    )

But, I need the query to select all posts from all forums he subscribe to, including the subforums posts.

  • 写回答

4条回答 默认 最新

  • dongyun51582 2013-03-11 23:22
    关注

    'fsub' has no scope here, it doesn't really even exist at this point in your query:

    posts.forumid IN(
        SELECT forums.id
        FROM forums
        WHERE forums.relatedto=fsub
    )
    

    You need to use a UNION I believe.

    评论

报告相同问题?

悬赏问题

  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用