表如下:
表1
brand key content1
a 1 ccc
a 2 bbb
a 3 ddd
b 5 aaa
...
表2
brand key content2
a 1 xxx
a 1 yyy
a 2 zzz
b 8 hhh
...我想查询的是,当条件brand = a 时,查询结果如下:
brand key content
a 1 cccxxxyyy
a 2 bbbzzz
a 3 ddd解释一下,返回的结果是key中不应该有重复的,对应的content列是相应的key的content1中的所有与content2中所有的字符串连接。不需要一条语句,求出来就成,请教了,谢谢。
表1
brand key content1
a 1 ccc
a 2 bbb
a 3 ddd
b 5 aaa
...
表2
brand key content2
a 1 xxx
a 1 yyy
a 2 zzz
b 8 hhh
...我想查询的是,当条件brand = a 时,查询结果如下:
brand key content
a 1 cccxxxyyy
a 2 bbbzzz
a 3 ddd解释一下,返回的结果是key中不应该有重复的,对应的content列是相应的key的content1中的所有与content2中所有的字符串连接。不需要一条语句,求出来就成,请教了,谢谢。
解决方案 »
- 问个简单的sql语句,大家快来拿分哦!
- oracle 插入的值对于列过大
- oracle 日志问题
- EXP问题。如何最后导出sequences
- 有人使用DBOne2005来管理数据库吗
- 紧急求助!!! oracle数据库中 怎么实现类似SQLserver 中Detach_db 和attach_db的功能
- 请教3表实现一个结果集的sql写法
- 郁闷,一个超级简单的问题就把我困死了,只怪oracle的提示太没含义了。耽误大家一分钟来帮帮我!
- 请教高手,帮我看看这个,为什么编译通过不了
- Oracle如何把表中查询到的多条数据都显示在一条查询数据中
- 多表查询时怎么用COUNT函数,并把查询结果如何赋值给一个变量!
- oracle 中当SET 条件包含二进制数据时
brand key content1
a 1 ccc
a 2 bbb
a 3 ddd
b 5 aaa
...
表2
brand key content2
a 1 xxx
a 1 yyy
a 2 zzz
b 8 hhh
...我想查询的是,当条件brand = a 时,查询结果如下:
brand key content
a 1 cccxxxyyy
a 2 bbbzzz
a 3 ddd
select brand,key,(content1+content2) content from table1,table2 group by brand where table1.brand=table2.brand and table1.brand='a'
(SELECT brand,key,max(SYS_CONNECT_BY_PATH(content,' ')) as path
FROM
(select brand,key,content,
(row_number() over (order by brand,key,content)+dense_rank() over(order by brand,key)) rn,
min(content) over(partition by brand,key) content1
from
(select brand,key,content1 as content from table1
union all
select brand,key,content2 as content from table2
order by brand,key))
START WITH content = content1
CONNECT BY PRIOR rn = rn-1
group by brand,key)