【问题标题】:MySQL Query: right syntax to use for `SELECT users.(foo, bar)`MySQL 查询:用于 `SELECT users.(foo, bar)` 的正确语法
【发布时间】:2010-07-09 05:18:13
【问题描述】:

这是 MySQL 代码。

SELECT users.(user_id, pic, first_name, last_name, username), 
           comments.(id, user_id, date_created)
FROM users
INNER JOIN comments ON users.user_id = comments.user_id 
WHERE comments.user_id = '$user_id'
GROUP BY comments.date_created

我收到以下错误:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '(user_id, pic, first_name, last_name, username), cmets.(id, user_id, date_created)' 附近使用正确的语法

【问题讨论】:

标签: php mysql


【解决方案1】:

试试:

SELECT u.user_id, u.pic, u.first_name, u.last_name, u.username, c.id, c.user_id AS comment_user_id, c.date_created
    FROM users u
    INNER JOIN comments c ON u.user_id = c.user_id 
    WHERE c.user_id = '$user_id'
    GROUP BY c.date_created

【讨论】:

    【解决方案2】:
    users.(user_id, pic, first_name, last_name, username)
    

    应该是

    users.user_id,users.pic, users.first_name, users.last_name, users.username
    

    【讨论】:

      【解决方案3】:

      您的查询应该已经在两个答案中发布,但是如果您遇到 JOIN 问题,您可以这样做。

      SELECT u.user_id, u.pic, u.first_name, u.last_name, u.username,
             c.id, c.user_id, c.date_created
      FROM users u, comments c
      WHERE u.user_id = c.user_id AND c.user_id = '$user_id'
      GROUP BY c.date_created;
      

      这应该可以解决问题。很抱歉重复了大部分查询,但我只是讨厌 JOIN ;)

      【讨论】:

        猜你喜欢
        • 2020-02-02
        • 2017-07-11
        • 1970-01-01
        • 1970-01-01
        • 2017-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-20
        相关资源
        最近更新 更多