现在有两个表,表a中
aid 主管领导
1 1,2,3
2 2,4
表b中
bid 姓名
1 李一
2 刘二
3 张三
4 李四
怎么联合查询出
序号 主管领导 主管领导姓名
1 1,2,3 李一,刘二,张三
2 2,4 刘二,李四
oracle数据库一个表字段中存了id,并以逗号分隔,id对应的详细信息在另一个表中
答案:2 悬赏:70 手机版
解决时间 2021-03-03 02:58
- 提问者网友:谁的错
- 2021-03-02 07:37
最佳答案
- 五星知识达人网友:一叶十三刺
- 2021-03-02 09:09
SELECt
rownum,
t.aid,
wm_concat (t1.name)
FROM
leader t
INNER JOIN leader_name t1
ON INSTR(
CONCAt(',', t.aid, ','),
CONCAt(',', t1.bid, ',')
) > 0
GROUP BY t1.aid ;试试,思路就是根据字符串截取,匹配id,然后group by,行转列。防止那种1匹配到10,就按照前后加逗号的方式
rownum,
t.aid,
wm_concat (t1.name)
FROM
leader t
INNER JOIN leader_name t1
ON INSTR(
CONCAt(',', t.aid, ','),
CONCAt(',', t1.bid, ',')
) > 0
GROUP BY t1.aid ;试试,思路就是根据字符串截取,匹配id,然后group by,行转列。防止那种1匹配到10,就按照前后加逗号的方式
全部回答
- 1楼网友:胯下狙击手
- 2021-03-02 09:30
1、64位linux 和64位oracle,默认oracle表空间数据文件用的blocksize是8k,表空间数据文件最大是32g。
sql>show parameter k_cache_size
查看数据库默认的块大小
sql> show parameter db_block_size
db_block_size integer 8192
2、为了让一个表空间数据文件存64g,你需要告诉oracle用blocksize 是16k
create tablespace test datafile ‘/data1/test_ts1.dbf’ size 512m autoextend on next 256m maxsize unlimited blocksize 16k;
提前需要设置db_16k_cache_size
alter system set db_16k_cache_size=16m scope=both;
否则会报错ora-29339:
tablespace block size 16384 does not match configured block sizes
3、为了让一个表空间数据文件存128g,你需要告诉oracle用blocksize 是32k
4、32位linux 和32位oracle,默认oracle表空间datafile用的blocksize也是8k,表空间数据文件最大也是32g。试了一下64g文件,也没有问题。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯