Php 使用MySQL连接
我有一个连接,可以从我关注的用户和朋友那里选择所有帖子Php 使用MySQL连接,php,mysql,Php,Mysql,我有一个连接,可以从我关注的用户和朋友那里选择所有帖子 SELECT * FROM posts a LEFT JOIN relationships b ON a.user_id = b.user_2 WHERE b.user_1 = $user_id AND b.status IN (1,3,4) 我如何让这个查询同时选择a.user\u id=$user\u id(我的id)的所有帖子? 基本上,也从我这里选择所有的帖子?无需复制任何数据。我没有任何方法来测试这一点,但
SELECT *
FROM posts a
LEFT JOIN relationships b
ON a.user_id = b.user_2
WHERE b.user_1 = $user_id AND
b.status IN (1,3,4)
我如何让这个查询同时选择a.user\u id=$user\u id(我的id)的所有帖子?
基本上,也从我这里选择所有的帖子?无需复制任何数据。我没有任何方法来测试这一点,但我假设以下各项将按预期工作:
SELECT *
FROM posts a
LEFT JOIN relationships b
ON a.user_id = b.user_2
WHERE b.user_1 = $user_id AND
(b.status IN (1,3,4) OR a.user_id = $user_id)
如果您基本上希望在一个表中包含两个查询的结果,请使用联合查询。您需要修复第二个查询中的WHERE子句以使其正确,但是类似的东西呢
SELECT *
FROM posts a
LEFT JOIN relationships b
ON a.user_id = b.user_2
WHERE b.user_1 = $user_id AND
b.status IN (1,3,4)
UNION DISTINCT
SELECT *
FROM posts a
WHERE a.user_id = $user_id (my id)
我也会质疑你使用左连接-我认为内部连接会更好你的意思是什么:“不复制任何数据。”