oracle 使用in的时候使用多个字段

这个也是刚需啊。

最近有个需求,在一堆商品里面过滤出一些特定的商品类型、供应商的商品(同时满足)。

需要的数量不多,但是可能会变化,所以做了两个配置表。

商品类型:

create table BKR_CFG_PACKAGE
(
  groupname   VARCHAR2(64),
  packagecode VARCHAR2(64),
  packagename VARCHAR2(64),
  groupcode   VARCHAR2(2)
)

供应商表:

create table BKR_CFG_VSP
(
  groupcode VARCHAR2(64),
  vspcode   VARCHAR2(64),
  vspname   VARCHAR2(64)
)

同时满足商品类型和供应商的SQL:

select a.packagecode,b.vspcode from bkr_cfg_package a,bkr_cfg_vsp b where b.groupcode = a.groupcode

好了,现在进入主题“in 多个字段

同时满足的就必须 一条数据 packagecode和vspcode同时相等

create or replace view view_vsp_add as
select * from view_vsp_package_mapping vm
where (vm.packagecode,vm.vspcode) in (
select a.packagecode,b.vspcode from bkr_cfg_package a,bkr_cfg_vsp b
where b.groupcode = a.groupcode)

做的是个视图,然后其他地方都可以用了。

 

转载于:https://www.cnblogs.com/Springmoon-venn/p/7016409.html

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐