SQL Inner Join 查询不返回所有记录,而是返回第一个记录

时间:2021-05-25 18:34:23

标签: php sql

SELECT user.name, comments.cdata, comments.likes FROM comments
WHERE pid = $postNum 
INNER JOIN user ON comments.uid = user.uid 
ORDER BY cdate

快速笔记:

  1. 我是初学者,请不要对我无礼,我正在努力学习更多
  2. 是的,我尝试过 LEFT JOIN,但它只会返回 SQL 语法错误
  3. 我的数据库是这样的: 2个表,1个是comments,comments有comments.cdata、comments.likes和comments.uid,user 1有用户名。

我一直试图完成的是获取带有评论数据的用户名,而不是 UID 和评论数据。

我也不能使用 2 个查询,因为我获取了所有记录,然后通过 PHP 在页面上为每个查询显示它们。

1 个答案:

答案 0 :(得分:0)

您的查询在语法上不正确。 JOINFROM 子句中的运算符。 WHERE 是跟在 FROM 子句之后的子句。

另外,我认为 cdatacdate 应该是同一个东西,虽然我不知道是什么。

我还建议使用表别名。所以:

SELECT u.name, c.cdata, c.likes
FROM comments c JOIN
     user u
     ON c.uid = u.uid 
WHERE c.pid = $postNum 
ORDER BY c.cdata