如何选择我的和我的朋友发布

时间:2018-08-04 08:18:08

标签: php sql select mysqli social-networking

我正在尝试建立一个社交网络,但是无法使用此代码。我正在尝试建立一个时间表,让用户看到他和他的朋友的帖子。但是此SQL语句给我错误“操作数应包含1列”。我该怎么办?我的代码有什么问题吗?还是可以提出其他建议?我同时使用PHP和SQL。

这是我的代码:

SELECT * FROM posts WHERE userId = 15 OR userId LIKE (SELECT user_one,user_two FROM friends WHERE user_one = 15 OR user_two = 15)

Table 'friends'
--------------------------------------------------------
id   user_one  user_two
1    15        14
2    14        13

1 个答案:

答案 0 :(得分:1)

like不接受子查询-您可能打算使用in运算符。 in接受带有一列的子查询。使用union all运算符可以帮助您在同一列中获得所有结果:

SELECT *
FROM   posts
WHERE  userId = 15 OR userId IN (SELECT user_one FROM friends WHERE user_two = 15
                                 UNION ALL
                                 SELECT user_two FROM friends WHERE user_one = 15)