Oracle 11g 合并多列为一列数据显示

dragon08 2013-06-07 07:26:08
背景:为了实现模糊查询。
思路:将原来的库表某条记录的所有列(A1,A2,A3,...)合并为一列A,这样查询的时候只要合并后的列执行where A like '%aa%',这样就能对这条记录是否含有aa进行模糊查询。

百度、google了一下,目前看到的是把一列的所有值合并在一个字段内显示,不是我想要的;我要的是针对每一条记录的各个列的值进行合并。

想法是用视图实现,但现在首先用select语句不知道怎么合并,求大神打救!!!!!!!!!!

如库表:
A1 A2 A3---------列名
a1 a2 a3---------第一条记录
b1 b2 b3---------第二条记录

合并后
A----------------列名
a1,a2,a3---------第一条记录
b1,b2,b3---------第二条记录
...全文
1148 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
看要看表的用法 里面字段在sql中的过滤关系 具体大到多少数据 ?

--创建视图
create view view_date
as
SELECT A1||'-'||A2||'-'||A3 a
from DATA-TABLE

--建立索引 语法
create index idx_date on DATA-TABLE(A1)
回复
xiongwenhua365 2013-06-07
SQL> select * from test;

A1    A2    A3
----- ----- -----
a1    a2    a3
b2    b3    b4

SQL> select a1 || ',' || a2 || ',' || a3 as a from test;

A
-----------------
a1,a2,a3
b2,b3,b4
回复
dragon08 2013-06-07
SELECT A1||'-'||A2||'-'||A3 from DATA-TABLE 刚发完贴,就发现上面的方法可以实现了。 那就继续问一下大家,怎么通过视图把一张表的所有字段合并为一个字段(用上面的方法应该可以),然后执行查询的时候只对这个视图执行模糊查询就好了。 之前还有个想法就是通过lucene来实现,不过lucene还没用过,就想先通过视图来实现了。 当数据量很大的时候,要考虑什么的?怎么建索引???
回复
相关推荐
发帖
Oracle
创建于2007-09-28

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2013-06-07 07:26
社区公告
暂无公告