在动态价值的基础上加入

时间:2013-01-17 10:34:03

标签: mysql sql join

我有下表。

[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

任何好友都可以帮助我

1 个答案:

答案 0 :(得分: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