首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

求一句SQL语句,该怎么解决

2013-10-21 
求一句SQL语句有一个合同表HETONG(ID,相关信息等)合同子表HETONG_SUB(ID,PID(外键),WUZICODE(物资编码))

求一句SQL语句
有一个合同表
HETONG(ID,相关信息等);
合同子表
HETONG_SUB(ID,PID(外键),WUZICODE(物资编码));
有一串字符串
'WZ001,WZ002,WZ016,' 里面存了一些WUZICODE(物资编码)
还可以用到物资表
WUZI(ID,WUZICODE);

求合同中包含了字符串中所有物资编码的合同

比如有一个合同ID为101,子表中有一些数据如
ID = 1, PID = 101, WUZICODE = 'WZ001'
ID = 5, PID = 101, WUZICODE = 'WZ002'
ID = 6, PID = 101, WUZICODE = 'WZ007'
ID = 9, PID = 101, WUZICODE = 'WZ016'
这样就可以查到编号101

如果PID为101的子表没有包含字符串中所有的物资编码就不能查到

这SQL该咋写呢

[解决办法]

SQL code
select HETONG.* from HETONG,HETONG_SUB    where HETONG.ID=HETONG_SUB.PID     and exists (select 1 from         (select wm_concat(WUZICODE) WUZICODE from WUZI group by WUZICODE) t            where t.WUZICODE=HETONG_SUB.WUZICODE);--少了个括号 

热点排行