表一:商品表
HH 进价 商品名
101 100 Durex
102 200 小儿咳喘
103 300 阿莫西林
104 400 头孢
表二:品号库
HH 最后进价
101 101
101 101
102 201
102 202
103 301
104 400
现在本人想查出两个表中最后进价与进价不同的数据,根据HH(货号)想要得到如下的结果:
HH 进价 最后进价 商品名
101 100 101 Durex
102 200 201 小儿咳喘
102 200 202 小儿咳喘
103 300 301 阿莫西林
如图所示:表二中HH为101的筛选掉了一条最后进价同样为101的数据,以及保留了表二中HH(货号)为102的两条最后进价不同的数据。
本人写了一条这样的SQL语句:
HH 进价 商品名
101 100 Durex
102 200 小儿咳喘
103 300 阿莫西林
104 400 头孢
表二:品号库
HH 最后进价
101 101
101 101
102 201
102 202
103 301
104 400
现在本人想查出两个表中最后进价与进价不同的数据,根据HH(货号)想要得到如下的结果:
HH 进价 最后进价 商品名
101 100 101 Durex
102 200 201 小儿咳喘
102 200 202 小儿咳喘
103 300 301 阿莫西林
如图所示:表二中HH为101的筛选掉了一条最后进价同样为101的数据,以及保留了表二中HH(货号)为102的两条最后进价不同的数据。
本人写了一条这样的SQL语句:
select a.hh as 货号,a.进价 ,b. 最后进价,* from 商品表 a inner join 品号库 b on a.HH=b.HH where a.进价<>b.最后进价
但这样查出来有重复的数据,求高手给指导一下
解决方案
30
select a.hh as 货号,a.进价 ,b. 最后进价,*
from 商品表 a inner join 品号库 b on a.HH=b.HH
where a.进价<>b.最后进价 group by 货号.进价,最后进价
from 商品表 a inner join 品号库 b on a.HH=b.HH
where a.进价<>b.最后进价 group by 货号.进价,最后进价
10
group by 货号,进价,最后进价