现在有两张表 A表与B表。A表中的ID在B表中是以逗号分隔的形式保存的。现在要做一件事首先从A表中的Name用Like模糊查询出匹配的ID。然后把这些ID做条件。在B表中查询想对应的记录例:
A:
ID Name
110 张三
120 张王
10 李四
45 赵四B:
AID Name
10,45 开会
110 工作
110,45 出差如:我查询输入“四”条件,得到的应该是10,45这两条记录,然后用这两条记录查询出“开会”,“出差”这两条记录
A:
ID Name
110 张三
120 张王
10 李四
45 赵四B:
AID Name
10,45 开会
110 工作
110,45 出差如:我查询输入“四”条件,得到的应该是10,45这两条记录,然后用这两条记录查询出“开会”,“出差”这两条记录
解决方案 »
- java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01003: 语句未进行语法分析
- Oracle中关于SQL列名的问题?
- 求行合并的SQL
- 在sh中执行 connect /as sysdba;
- Oracle 补丁
- oracle 新建用户怎样指定这个用户只能查询其中的几张表,而不是any table
- 求SQL语句
- 请教一个简单的SQL语句中类型转换问题,解决马上给分!
- 在LINUX9.0上安装ORACLE9i时,当跳到UNIX Group Name时,不论你填还是不填,点下一步是都会报错!
- asp操作oracle数据库如何实现字段自动加1,答复者100分奖励。
- db.ExecuteNonQuery(cmd)与db.ExecuteNonQuery(cmd,trans);求解
- 数据组合的超难问题。请高手指教~
2 select '110' as id, '张三' as name
3 from dual
4 union
5 select '120', '张王'
6 from dual
7 union
8 select '10', '李四'
9 from dual
10 union
11 select '45', '赵四' from dual
12 ) t, (
13 select distinct b, name
14 from (select regexp_substr(aid, '[^,]+', 1, level) as b, name
15 from (select '10,45' as aid, '开会' as name
16 from dual
17 union
18 select '110', '工作'
19 from dual
20 union
21 select '110,45', '出差' from dual)
22 connect by level <= 4)
23 where b is not null
24 ) t1 where t.id = t1.b;
ID NAME NAME
--- ---- ----
10 李四 开会
110 张三 出差
110 张三 工作
45 赵四 开会
45 赵四 出差