php 如何使用上一次SELECT的结果SELECT SQL数据

bxgwgixi  于 2023-01-01  发布在  PHP
关注(0)|答案(1)|浏览(144)

假设我有3个表:
表a中有姓名和电子邮件
表b,其中我有一个文本和用户(作为对表a中电子邮件的引用)
表c中我有追随者和追随者(表a中均引用电子邮件)
我试图开发一个简单的html/php/sql web,允许我注册许多用户,让他们发布不同的文本,同时也有机会跟随或被其他用户跟随(已经完成),我想给予用户有可能显示表b中他自己发布的文本和他正在跟随的用户的文本
我正在努力解决如何提取这些信息

SELECT b.text
  FROM tableB as b
 LEFT JOIN tableC as c
    ON b.user = c.follower
 WHERE b.user = "currentuser"

这是我所得到的,它只显示了用户自己发布的文本(我可以做得更简单),但我似乎不明白如何从他所关注的用户那里获得这些文本
希望没有照片也能理解

7uzetpgm

7uzetpgm1#

你首先要在表c中当前用户是关注者的行中找到所有关注的用户,然后你要添加当前用户(或者总是让所有用户关注他们自己),然后你要找到这些用户的所有文本。
因此,

select b.text
from (
    select following as user
    from tableC
    where follower="current user"
    union
    select "current user"
) show_users
join tableB as b on b.user=show_users.user

或者如果您有一个tableC行,其中follower = following适用于所有用户,则只需:

select b.text
from tableC as c
join tableB as b on b.user=c.following
where c.follower="current user"

相关问题