簡體   English   中英

從查詢結果中填充SQL列

[英]Populate sql column from query result

我有2張桌子

要求

requests_votes

請求結構為:

id | req_name | content | hits
------------------------------
1  | Sample   | Some    | NULL
2  | Sample   | Some    | NULL
3  | Sample   | Some    | NULL
4  | Sample   | Some    | NULL
5  | Sample   | Some    | NULL

requests_votes結構為:

id | requestid | user_id
------------------------
10 | 2         | 2556
18 | 2         | 2522
33 | 3         | 120
44 | 2         | 1559
98 | 5         | 253

寬度以下查詢無法計算投票如何具有項目(請求)

SELECT `requestid` , count( requests_votes.id ) AS totals
FROM `requests_votes`
INNER JOIN `requests` ON requests.id = requests_votes.requestid
GROUP BY `requestid`

輸出:

requestid | totals
------------------
2         | 3
3         | 1
5         | 1

我想用count(Requests_votes.id)結果填充請求表內的hits列。

我已經通過了這里關於stackoverflow的類似問題,但是找不到解決方案。

您可以在UPDATE查詢中使用JOIN

UPDATE `requests` T1 JOIN
  (SELECT `requestid` , count( requests_votes.id ) AS totals
   FROM `requests_votes`
   INNER JOIN `requests` ON requests.id = requests_votes.requestid
   GROUP BY `requestid`) T2 ON T1.id=T2.requestid
SET T1.hits=T2.totals

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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