[英]How to update two mySQL tables and input primary key from first table into second table?
[英]How to get data from two tables like one table all rows and with respect to first table primary key sum of row from other table
表格1:
表2:
結果表:
我需要高效的結果,因為我的原始表有100列,因此我需要使用aysteric(*)。 我目前在mysql
工作。
使用聚合查詢:
SELECT
t1.id,
t1.Name,
t1.Email,
t1.Address,
t1.Designation
COALESECE(t2.expenses, 0) AS Expense
FROM Table1 t1
LEFT JOIN
(
SELECT user_id, SUM(Expense) AS expenses
FROM Table2
GROUP BY user_id
) t2
ON t1.id = t2.user_id;
我們也可以使用帶有聚合的直接聯接來編寫上面沒有子查詢的代碼。 但是,由於GROUP BY
子句中出現了許多列,因此我更喜歡給出的版本。
您可以使用下面的查詢直接加入每個用戶的費用總和表。
SELECT userdata.*, (select sum(expense) from expense where expense.user_id=userdata.id) as expense FROM `userdata`
或使用左聯接
SELECT u.*, sum(e.expense) as expense FROM `userdata` u left join expense e on e.user_id=u.id group by u.id
這是上述查詢的完整示例(根據您的表結構,請注意更改列名稱) 。
用戶表
費用表
然后運行查詢
SELECT userdata.*, (select sum(expense) from expense where expense.user_id=userdata.id) as expense FROM `userdata`
響應
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.