本文轉自:https://www.cnblogs.com/Springmoon-venn/p/7016409.html
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)
做的是個視圖,然后其他地方都可以用了。