如何 select 我和我的朋友们 post
How to select mine and my friends post
我正在尝试创建一个社交网络,但我无法使用此代码。我正在尝试制作一个时间轴,用户可以在其中看到他和他的朋友的 post。但是这个 SQL 语句给我错误 'Operand should contain 1 column(s)'。我应该怎么办?我的代码有什么问题吗?或者你能推荐一些其他的方法吗?我同时使用 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
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)
我正在尝试创建一个社交网络,但我无法使用此代码。我正在尝试制作一个时间轴,用户可以在其中看到他和他的朋友的 post。但是这个 SQL 语句给我错误 'Operand should contain 1 column(s)'。我应该怎么办?我的代码有什么问题吗?或者你能推荐一些其他的方法吗?我同时使用 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
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)