[英]how to get the sum of a child column from another table
我有一個可以獲取會員信息的系統。 我希望我的系統自動獲得獲獎者的名字。 條件是該成員招募了6個人,他/她出售了15塊肥皂,下線出售了15塊肥皂。 我到目前為止使用mysql和VB.NET我有此查詢。
SELECT *
FROM members m
LEFT JOIN
geneology g
ON SUM(m.status) >=90 AND
m.upline = g.parent_id;
但我明白了
1111錯誤-無效使用組功能
表1的列
id, name, status 'This is where the soap data are stored', downlines, upline
表2的列
id, parent_id, child_id
請幫助我新的SQL查詢
首先, ON
子句定義用於匹配兩個表的行的條件,因此SUM() >= 90
不應停留在該位置(實際上,這就是為什么會出現此錯誤的原因)。
我假設對於表members
,上upline
是招募該成員的成員的ID
。 如果是正確的話,您可以像這樣建立查詢:
select t1.id, t1.name
from members t1
join geneology t2
on t1.id = t2.parent_id
join members t3
on t2.child_id = t3.upline
where t1.status = 15
group by t1.id, t1.name
having count(distinct t3.id) = 6 and
sum(t3.status) = 90
這將使用兩次members
表,一次用於父級,一次用於子級,並且這兩個表由geneology
表關聯。
中條件where
條款是父,那么你組為每個父孩子數據,並僅返回父母的子女satisfiy的條件中having
條款。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.