SQL--查询:一个字段的一个数值对应另一个字段的多个数值

查询:一个字段的一个数值对应另一个字段的多个数值
举例如下:

----查 一个商品 对应 多个仓库 的记录(注:一个商品名称 对应 同样的一个仓库 的记录,也会有重复)


select distinct 商品名称,仓库代码,a.仓库名称
from 商品表 b INNER JOIN 仓库表 a ON a.仓库代码 = b.仓库代码  ----4.连接仓库表,查出仓库的名称
where 商品名称 in(                                            ----3.我们最终想要的 商品名称 就在in里
	select 商品名称 FROM (                                    
		select distinct 商品名称,仓库代码 from  商品表) t1    ----1.实际:一个商品名称 对应 同样的一个仓库 的记录,也会有重复,所有要去重
    group by 商品名称 having count(仓库代码)>1)               ----2.按商品名称分组,数一下去重后的,仓库代码数量不止一个的 商品
order BY 商品名称 

注:如果(注:一个商品名称 对应 同样的一个仓库 的记录,也会有重复)不存在这种情况,那就把去重的那步删掉即可:

----查 一个商品 对应 多个仓库 的记录(注:一个商品名称 对应 同样的一个仓库 的记录,不会有重复)


select distinct 商品名称,仓库代码,a.仓库名称
from 商品表 b INNER JOIN 仓库表 a ON a.仓库代码 = b.仓库代码  
where 商品名称 in(                                           
	select 商品名称 FROM  商品表      -----------改动在这里
    group by 商品名称 having count(仓库代码)>1)              
order BY 商品名称 
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值