这哥们表设计的太恶心了
无奈之下请教高手 今天就要交工 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
无奈之下请教高手 今天就要交工 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
解决方案 »
- 请教一个简单的问题,如何根据A表字段查询B表的字段信息,并把结果插入A表中。
- orale 建表
- oracle 11g的SQLDevelop报12505错误,但是使用SQL*PLUS可以正常连接?
- ORACLE外连接分组问题
- Oracle 卸载的问题
- 如何使用PLSQL向ORACLE里插入图片?
- 请问oracle里对应mssql里addday()的函数是什么?
- 这个update语句该怎么写
- Oracle 支持的SQL中 用什么函数据把字符串转换成整型???
- 爲什麽IMP用戶資料時,佔用的TABLESPACES會變大很多?
- oracle 9i statpack,请问下这个报告里面什么时候Buffer Gets和physical reads值会很接近呢
- 挑战一下:ubuntu下的oracle的字符集问题
select b.PANTERS ,a.PBMAJOY1
from expts a,stock b
where a.PBMAJOY1=b.S_GOODS
order by b.b.PANTERS是这个意思吗
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加入到上述表连接中
可以明确的是这个效率不高
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
没用的字段去掉..这样
竟然忘了这个函数
这样就行了
select b.PANTERS ,count(a.PBMAJOY1)
from expts a,stock b
where
instr(a.PBMAJOY1,b.S_GOODS,1)>0
group by b.PANTERS
order by b.PANTERS