0

我有下表。

[Table] coupon_sells

id,dealer_id,parent_id,modified,price 

[Table] users

id,username,password

[Table] user_profiles

id,user_id,first_name,last_name

外键:

coupon_sells[Foreign Key dealer_id,parent_id] To users
user_profiles[Foreign Key user_id ] to users

我想从 coupon_sells 获得总价格。基于 parent_id 的条件总和,例如如果 parent_id 不等于零,则对价格字段求和,如果不为零,则将相对于 parent_id 字段的价格求和。

到目前为止,我已经对解决方案进行了排序......

select case 
           when parent_id =0 
                then dealer_id 
                else parent_id 
           end 
           as test_id,sum(price),modified from coupon_sells group by test_id 

我在上面的查询中得到了正确的总和。当我想与用户和用户个人资料一起获取个人资料信息时,就会出现问题。

就像当我使用 join 运行查询时一样,它会给出错误:

select case when parent_id =0 then dealer_id else parent_id end as
test_id,sum(price),modified from coupon_sells group by test_id inner
join users  u on u.id=test_id

请任何朋友可以帮助我

4

1 回答 1

0

用这个

select case when u.parent_id =0 then dealer_id else u.parent_id end as test_id,
sum(price),modified from coupon_sells as cs inner join users u on u.id=test_id 
group by test_id 
于 2013-01-17T10:46:08.143 回答