MySQL 查询无法正常工作


MySQL Query Not Working Properly

错误在哪里?

谢谢!

SELECT Table.id,
       Table.name,
   Table.kommentar,
   Table.pictureurl
   WHERE Table.news_id = 5, //without this line the query works!
   COUNT( Table1.comment_id ) AS numComments
   FROM DATABASE.news_comments          AS Table
   LEFT JOIN DATABASE.news_comments_comments AS Table1
   ON Table1.comment_id = Table.id
   GROUP BY Table.id
   ORDER BY Table.id DESC LIMIT 0,50

WHERE子句应该在FROM子句之后

SELECT `Table`.id,
       `Table`.name,
       `Table`.kommentar,
       `Table`.pictureurl,
       COUNT( Table1.comment_id ) AS numComments
FROM   DATABASE.news_comments          AS `Table`
          LEFT JOIN DATABASE.news_comments_comments AS Table1
             ON Table1.comment_id = `Table`.id
WHERE `Table`.news_id = 5    // <=== HERE
GROUP BY `Table`.id
ORDER BY `Table`.id DESC LIMIT 0,50

还有一件事,您的别名Table应该带有反引号转义,因为它是MySQL中的保留关键字

SELECT Table.id,
       Table.name,
   Table.kommentar,
   Table.pictureurl,   
   COUNT( Table1.comment_id ) AS numComments
   FROM DATABASE.news_comments  AS Table
   LEFT JOIN DATABASE.news_comments_comments AS Table1
   ON Table1.comment_id = Table.id
WHERE Table.news_id = 5   //===> where should be here
   GROUP BY Table.id
   ORDER BY Table.id DESC LIMIT 0,50