簡體   English   中英

Mysql> 如何使用單個查詢連接 2 個表的數據? (選擇 * 和 COUNT)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM