![](/img/trans.png)
[英]MYSQL SELECT WHERE Clause : How to include a column from another table?
[英]How to get a row count of another table, using SELECT column as a WHERE clause using MySQL
我正在從 MySQL 數據庫中的“帖子”表中選擇帖子,但我希望返回的列之一是使用所選帖子 ID 行的評論表中的評論計數。 我的數據庫是關系型的,所以評論表有一個帖子 ID 字段(comment_post_id)。 這是我所擁有的,但此查詢在 PHPMYAdmin 中創建了一個語法錯誤:
SELECT post_id, post_title, post_status, post_image, post_tags, post_views, post_date, user_name, cat_title,
COUNT(SELECT comment_id FROM comments WHERE comment_post_id = post_id) AS comment_count
FROM posts
LEFT JOIN users ON post_author = user_id
LEFT JOIN categories ON post_category_id = cat_id
ORDER BY post_id DESC
Post 和 Comments 表列的布局如下:
帖子:post_id、post_title、post_status、post_image、post_tags、post_views、post_date、post_author、post_category_id
評論:comment_id、comment_post_id、comment_content
您可以在post
中加入comments
,然后使用count(comment_id)
。 而不是多余的子查詢。
SELECT
post_id,
post_title,
post_status,
post_image,
post_tags,
post_views,
post_date,
user_name,
cat_title,
COUNT(comment_id) AS comment_count
FROM
posts
LEFT JOIN
users ON post_author = user_id
LEFT JOIN
categories ON post_category_id = cat_id
JOIN
comments ON post_id = comment_post_id
ORDER BY post_id DESC
您可以使用此查詢在此處獲取計數。 試試這個方法
SELECT post_id, post_title, post_status, post_image, post_tags, post_views, post_date, user_name, cat_title,
(SELECT COUNT(comment_id) FROM comments WHERE comment_post_id = post_id) AS comment_count
FROM posts
LEFT JOIN users ON post_author = user_id
LEFT JOIN categories ON post_category_id = cat_id
ORDER BY post_id DESC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.