【问题标题】:How to select mine and my friends post如何选择我和我的朋友的帖子
【发布时间】:2019-01-12 00:07:15
【问题描述】:

我正在尝试创建一个社交网络,但我无法使用此代码。我正在尝试制作一个时间线,用户可以在其中看到他和他朋友的帖子。但是这个 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

【问题讨论】:

  • 你的子选择必须只选择 ONE 列,而且你应该使用 IN 而不是 LIKE
  • 发布您的 friends 表示例列和值
  • 还是不行
  • 什么仍然不起作用?你修改子选择代码了吗?
  • 问题已经得到解答,它正在工作...... ;)

标签: php sql select mysqli social-networking


【解决方案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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    • 1970-01-01
    • 1970-01-01
    • 2018-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多