有2列, Group_id 和 Memberselect Group_id from tablewhere Member = A 且 Member = B 且 Member = C
总的来说,我希望把 仅存在A、B、C 这3 个元素的 group_id 查找出来。 也就是把22 找出来。具体的sql 该怎么写
总的来说,我希望把 仅存在A、B、C 这3 个元素的 group_id 查找出来。 也就是把22 找出来。具体的sql 该怎么写
解决方案 »
- 求高手解决怎么实现数据库里面数据关联?DBA求进。
- 求问两表关联查询
- Oracle浮点数类型选择
- 如何测试我的oracle客户端能连上服务器?
- 存储过程返回记录集,我怎么在java里面获得记录的遍历呢?求助,100分谢谢
- 使用sql loader 一行数据 如何插入多表?
- 关于主键ID
- 丢了SYSDBA身份的SYSTEM密码后,有办法挽回吗?
- 自己定义了一个procedure deletealltable,在SQLPLUS下如何调用?
- [疑难解答linux&oracle]linux下通过OCI连接oracle数据库,在OCIServerAttach里卡很久,最后报ORA-12170错误。在线等
- SQL请教
- 急,哪为大虾帮帮忙,本人新手,用plsql删除表时没提交,现在左侧栏目里表名还在,但是对表操作时又提示表不存在,请问我该怎么彻底将它删掉
FROM
(
SELECT group_id,MAX(susbstr(sys_connect_by_path(MEMBER,','),2)) join_member
FROM
(
SELECT group_id,MEMBER,
row_number()over(PARTITION BY group_id
ORDER BY group_id) rn
FROM tab
)
START WITH rn=1
CONNECT BY rn-1 = PRIOR rn AND group_id=PRIOR group_id
)
WHERE join_member='A,B,C'
SELECT group_id
FROM
(
SELECT group_id,MAX(substr(sys_connect_by_path(MEMBER,','),2)) join_member
FROM
(
SELECT group_id,MEMBER,row_number()over(PARTITION BY group_id ORDER BY group_id) rn
FROM test
) GROUP BY group_id
START WITH rn=1
CONNECT BY rn-1 = PRIOR rn AND group_id=PRIOR group_id
)
WHERE join_member='B,C,A' --顺序调过来就没结果了
--join_member='A,B,C' 有结果且正确