基本上我有一個關於表A的產品信息的負載。這包括product_id這是兩個表上的公共ID。在表B中,我有一個包含product_id,username,thevote(可以是+1或-1)的選票列表。MySQL右加入SUM()從表B到表A的信息
所以基本上我想要一個'表A'的表和一個包含該product_ID所有投票的SUM的附加列。我相信有一個簡單的方法來做到這一點。我認爲這是使用'正確連接'。
我仍然希望它列出表A中的所有產品,無論他們是否擁有+1或-1票。
非常感謝人民提前!
基本上我有一個關於表A的產品信息的負載。這包括product_id這是兩個表上的公共ID。在表B中,我有一個包含product_id,username,thevote(可以是+1或-1)的選票列表。MySQL右加入SUM()從表B到表A的信息
所以基本上我想要一個'表A'的表和一個包含該product_ID所有投票的SUM的附加列。我相信有一個簡單的方法來做到這一點。我認爲這是使用'正確連接'。
我仍然希望它列出表A中的所有產品,無論他們是否擁有+1或-1票。
非常感謝人民提前!
你可以使用group by
聲明和left join
,如:
select productName, sum(vote) as productVoteSum
from `products` p
left join `products_votes` pv on p.id = pv.productId
where productName like '%chocolat%'
group by p.id
order by productName;
SELECT a.*, SUM(b.votes) FROM TableA a LEFT JOIN TableB b ON a.prouct_id=b.product_id
GROUP BY a.product_id
你可以做一個LEFT JOIN(即經過的所有信息TableA上,並把總和中具有匹配PRODUCT_ID的那些在桌子B上),那麼你在其餘列上加上SUM(b.thevote)和group
SELECT a.product_id,a.productName,SUM(b.thevote)
FROM tableA a
LEFT JOIN tableB b ON a.product_id = b.product_id
GROUP BY a.product_id, a.productName
正是我在找的東西。我如何在這個狀態下添加'WHERE'和'SORTBY'? –
在我編輯的答案中查看 –
正如我所期待的那樣,如果可能的話,它會給+2! –