易截截图软件、单文件、免安装、纯绿色、仅160KB

ORACLE多表查询

这哥们表设计的太恶心了
无奈之下请教高手 今天就要交工

table expts 字段:ID, NAME, PBMAJOY1
table stock 字段:ID, S_GOODS , PANTERS

expts中PBMAJOY1字段的值取自stock表中的S_GOODS,并可以为多个S_GOODS的值
stock中同一个PANTERS值可以对应多个S_GOODS

如何查询出expts表中PBMAJOY1属于同一个PANTERS的数据

注:PBMAJOY1的值可以属于不同的PANTERS
并可以为多个S_GOODS的值 这句是什么意思
select b.PANTERS ,a.PBMAJOY1
from expts a,stock b
where a.PBMAJOY1=b.S_GOODS
order by b.b.PANTERS

是这个意思吗

这样不行啊 PBMAJOY1可以是单个值也可以有多个值 比如 111,222  是用逗号分开的 没办法a.PBMAJOY1=b.S_GOODS

啊,确实很糟糕,几个值合成一个,再去分离效率就低了
最多有多少个合在一起

没最高上限 很郁闷 最后只是显示一个数量 除非都取出来放个集合 然后一个一个查 浪费这么多资源做这个太不值了

SQL code:
select distinct PBMAJOY1,level,substr(PBMAJOY1,case level when 1 then 1 else instr(PBMAJOY1,',',1,level-1)+1 end,
instr(PBMAJOY1||',',',',1,level)-case level when 1 then 0 else instr(PBMAJOY1,',',1,level-1) end-1) PBMAJOY1,
NAME
from expts
connect by level<=length(PBMAJOY1)-length(replace(PBMAJOY1,',',''))+1


试试用这个查询语句代替expts加入到上述表连接中
可以明确的是这个效率不高

SQL c


相关问答:

linux + oracle用XP访问不了

我安装一台redhat linux5+oracle 10g的服务器,笔记本(XP系统)安装了oracle 10g客户端,结果老是出12560的错误,请高手指点一二,

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dpor ......

oracle sql developer 查询显示中文乱码

环境:1.win2003server+oracle9i
2.oracle9i字符集为AMERICAN_AMERICA.WE8ISO8859P1
3.oracle sql developer版本 1.5.5
现象描述: 1.在sql developer 中查询oracle中的某个表,中文全部显示为乱码。 ......

求助ORACLE批量清除表数据的问题 - Oracle / 开发

比如我有testA、testB、testC三个表
我现在需要写一个批处理或者脚本给别人 作用就是执行这段语句可以清除这三个表里面的数据 就是一个初始化的意思
哪位高人帮助下啊 一个数据库小白在此求救啦
SQL code:
......

oracle入门配置

oracle连接啥这么复杂啊.
oracle 10g
用ps/sql dev怎么也连不上.
用sqlplus可以登陆.net manager之前测试连接了成功的.现在搞得也连接不了.
listener.ora:
SID_LIST_LISTENER =
  (SID_LIST =
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号