[英]Mysql> How to join data of 2 tables with single Query? (Select * and COUNT)
我的示例數據表“帖子”:| id (字符串) | 作者 (int)| 描述(字符串)| | --- | --- |---| | 后台| 111| 你好| | 烤肉| 113| 世界|
表'rating_info' | post_id(字符串)| 評級(整數)| | --- | --- | | 烤肉| 111 | | 烤肉| 112 | | 烤肉| 114 | | 背書 | 114| | 背書 | 114|
我的最終目標:
以某種方式組合這兩個表,從 Posts 中選擇所有內容,但僅從 rating_info 中選擇 COUNT。
我試過的:
SELECT (SELECT *
AS posts
FROM posts
WHERE posts.id= 'bac') AS posts,
(SELECT Count(rating_info.post_id) AS count2
FROM rating_info
WHERE rating_info.post_id = 'bac') AS hits
錯誤結果:#1241 - 操作數應包含 1 列
該錯誤來自嘗試顯示許多列作為帖子。
你應該使用加入:
SELECT *, Count(rating_info.post_id) AS count2 FROM posts
INNER JOIN rating_info ON rating_info.post_id = posts.id
WHERE posts.id = 'bac';
這將顯示兩個表中的所有列 + 計數,您可以將 * 切換到特定列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.