我有两个表,一个表的结构如下:
aa bb
1 张三
2 李四
3 王五
另一个表为
cc dd
1111 张三,李四
2222 张三,王五
3333 张三,李四,王五
我想查出的结果为:
cc bb
1111 王五
2222 李四
请教各位老师,这样的查询语句该如何写
aa bb
1 张三
2 李四
3 王五
另一个表为
cc dd
1111 张三,李四
2222 张三,王五
3333 张三,李四,王五
我想查出的结果为:
cc bb
1111 王五
2222 李四
请教各位老师,这样的查询语句该如何写
解决方案 »
- 0D换行符存到Oracle变为0D0A
- orecal 中怎样背反删除的数据
- oracle中如何查找一个字段中包含指定的字符串
- 字符串替换函数
- Merge into语句能否using自定义的tableType集合??
- 关于从Sql Server 到 Oracle 的数据导入问题。。。。。急`~~~~~
- 在Oracle里怎么实现SQL Server的左连接、右连接和全连接?
- 昨天买了一台笔记本电脑,不能装ORACLE数据库,
- PL/SQL中的select into
- 过程错误请各位高手指点 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 各位大侠,这个sql怎么写,在线等啊!!!!!!!!!!!!!!!!
- 在存储过程中如何创建表
1111 张三
2222 张三,王五
3333 张三,李四,王五结果是这样的吗?cc bb
1111 李四,王五
2222 李四如果是这样处理起来比你上面说的要麻烦多了
我建的表满足两个条件:
1.aa,cc都是主键(没想过不是主键可不可以)
2.bb,dd都是字符类型select bb from tt1,tt2
where instr(dd,bb)=0
aa bb
1 张三
2 李四
3 王五
4 赵六cc dd
1111 张三,李四
2222 张三,王五
3333 张三,李四,王五
4444 张三,李四,王五,赵六按楼主的意思最后结果应该是这样的:
cc bb
1111 王五,赵六
2222 李四,赵六
3333 赵六下面这句sql能完成上面的功能吗?
select bb from tt1,tt2 where instr(dd,bb)=0再说instr(dd,bb)=0来判断是否存在某个姓名也是不对的,因为可能同时存在名字叫‘李四’和‘李四平’的人,instr('李四平,赵六','李四') 就不等于0了
这是可以实现的,但用一句SQL肯定是不行的