跪求sql算法

来源:百度知道 编辑:UC知道 时间:2024/06/03 04:51:34
最近碰上sql的问题 请sql高手给解决下:
有3张表
-------------------------------------------
| 用户表(user) |
| user_id (自动增长,主键) |
| user_name (用户名varchar(20)) |
-------------------------------------------

----------------------------------------------------------------
| 购货历史表(buy) |
| buy_id (自动增长,主键) |
| user_id (购买人ID)(外键,对应用户表user_id) |
| goods_id_1 (主买货物ID)(外键,对应货物表goods_id) |
| buy_num_1 (购买数量int型) |
| goods_id_2 (副买货物ID)(外键,对应货物表goods_id) |
| buy_num_2 (购买数量int型) |
----------------------------------------------------------------

-------------------------------------------------
| 货物表(goods) |
| goods_id (自动增长,主键)

select b.user_name,d.f,a.buy_num_1*c.goods_dj+a.buy_num_2*c.goods_dj from buy a join user b

on a.user_id = b.user_id join goods c on a.goods_id_1 = c.goos_id-1 and a.goods_id_2 =

c.goos_id-2 join
(select goods_num_1+goods_num_2 f,user_id e from buy a join goods b on goods_id_1=goods_id

and goods_id_2 = goods_id
where c.goods_name='咖啡') d on d.e=a.user_id

我不知道写的对不对,我也没测试,希望能给你点启发!

有个问题,购货历史表里对于有没有重复的id,意思说会不会这个人买了4个东西或者更多?补充下。
给你提个醒你这个问题不难,要注意使用左右连接。。

超市软件啊,北大青鸟的