簡體   English   中英

SQL 通過ID從另一個表中獲取列的總和

[英]SQL Get sum of a column from another table by ID

對 SQL 非常缺乏經驗,我發現自己需要編寫查詢。 希望你能幫助我理解我如何 go 關於這個:

我有兩張桌子。

  • “table_requests”包含所有請求,其中一些是批處理

  • “table_pages”包含批次的每個頁面的信息,連接到“table_request_id”列上的“table_requests”

此外,“table_pages”有一個數字列“word_count”,它列出了每個頁面的數字,以及一個“table_request_id”列,可以匹配“table_requests”的PK。

對於我的查詢,我想將“table_requests”連接到該匹配列上的“table_pages”,以及 select 從“table_requests”開始的所有內容,最后添加一個列,總計每個“table_request”的“word_count”(來自所有“table_pages”中的頁面)。

到目前為止,我有:

select tr.id, tr.creation_date, sum(tp.word_count) as total_wc
from table_requests tr 
join table_pages cp on tp.table_request_id = tr.id

謝謝大家,如果我可以提供更多信息,請告訴我!

我認為最簡單的方法是相關子查詢:

select 
    tr.*,
    (
        select sum(tp.word_count) 
        from table_pages tp 
        where tp.table_request_id = tr.id
    ) total_wc
from table_requests tr

對於此查詢的性能,請確保您在table_pages(table_request_id )上有一個索引。

暫無
暫無

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

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