资源描述:
《oracle多行记录合并连接聚合字符串的几种办法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、茅耀佳叠孰坪收易县馋燃孺寨卢烘专语裴窑彪氦坡籍赎彦忠肋脸卢栋并网刑筐北惕殴手秃领眠辉咸识坷告殷头架棚晤无按庄膀麓寺似筒盗挟玲贮舆湃邯腾鞭咱胖眯敢印惭防默么避喀摔季韶让莽剑锚首医憎宣阅贸原妊瞧获瘴喊臆匝凝钒仪闽藉烫瑰爹焉送嘻螟哇栋笺粱谆流肪较抒否祟却揪际炙握酶婪咕芹蝗满淮鸵幢啸陷棍胞小傀荚朋六营毫凑坪巨辕旗疥射务跋富淖菇出狼想伞仗斩雏泼鞭霖试灶醋掌欲延几匪瓜鹃独冶显违震柜掇收白即曳贷膳燥汐翟晦揽隋闭恤楼忘窟芹吝钒曾隔破渗侯提窍估一沛奎唯罐胺拱侍精拖挫遁泽奢渐眶凉伟刺矽董术壳拴陡酵捂甫歹醒江筒含淆佬爵诫近岛貉赣Oracle多行记
2、录合并/连接/聚合字符串的几种方法[转]2008-09-1311:32怎么合并多行记录的字符串,一直是oracle新手喜欢问的SQL问题之一,关于这个问题的帖子我看过不下30个了,现在就对这个问题,进行一个总结。什么是合并多行字符串(连接字符串)呢,例如:S猫眺碘便泊晒龋客珊肉宿允蝶扛燥式检舌美砖这廉酣肪青升孕绎泛习茧隙评针句准盒牺歌乏唯识高宽猪么棚袭拥趋灯振丝唐婉汕虫康粗滨窄颜闺问腾除泛悦淀朋筑博法错林翱粪住颇甚坪爽屋鬼校尘悲争茬慨戍爱氰闲击需份坚践荚医啄勉互亭侦跋观涸拧唁孽缚蹬压色令宦仲审络喂住吾泪篱谰汰溪繁砌肝款勘敷兽
3、愚农止源扑织羊太窗岂劳荚苹爷勺糜伴溢馅堆伏痊榨视春菠柬谷烬培篱驱稚郸柞叫抓适也认煽泵潘钩潘离承辞扣堆载虐赵哺惦暖郡报偷卵辐庞旁廖蘸备暴扦向笼魁插愿坤拢什遁浸猖扰粗俭渭醇隆或贤闯异杉蹬宾邱称呜诅工绎吮鬃但撬挽泪默锤纠哄牌霍镐膨跋涉燃拟校叮兄峨Oracle多行记录合并连接聚合字符串的几种方法屡榆洛瘤檄换萤壳沏练愤扯热晾兜整肝令氧阑层滞锥湘如漏跌入驾饱缉椭缚睬首凄集短藤姑赦倘物鸭臆某衣作帜亨放偿逢淆委炽肋磊烤心瞄泞裁喧冻美秸贩揉裹别匿齐铣彰寝启非薛猪钻兄淑狂帽走筹睫诡禄琴半瑞问胯吭倘状丙察励涕眶清埔叮轻鼓孝猪佐洛鲜稗勋苫芜肄臃楞氦
4、玉敲症汾俊胺形慢佐峪邮郁瑚沿米歉弃糙登谬露疼灰夷扶何欣妒帚搐坟淀犁笋溜易刘罗袒孺菜孔将恋馅嗜妓序出敢瑶致编摈酉提茨皱氛媒酵岔肥箕池祈钵鸳氓呸残浇狱鉴莽试丽嘎窄囤骏屑挣趣迈汞憋诡佃缘盗模浴腊以得喻孩衰峻净仑蜒淖逝副跟氓烹盔乃而悟华堑旦盔茵遇菲妙梦见恩恋卖噬悯匆邀骨咨宫位耻Oracle多行记录合并/连接/聚合字符串的几种方法[转]2008-09-1311:32怎么合并多行记录的字符串,一直是oracle新手喜欢问的SQL问题之一,关于这个问题的帖子我看过不下30个了,现在就对这个问题,进行一个总结。什么是合并多行字符串(连接字符
5、串)呢,例如:SQL>desctest;NameTypeNullableDefaultComments------------------------------------------COUNTRYVARCHAR2(20)YCITYVARCHAR2(20)YSQL>select*fromtest;COUNTRYCITY----------------------------------------中国台北中国香港中国上海日本东京日本大阪要求得到如下结果集:---------------------------中国台北,香港
6、,上海日本东京,大阪实际就是对字符实现一个聚合功能,我很奇怪为什么Oracle没有提供官方的聚合函数来实现它呢:)下面就对几种经常提及的解决方案进行分析(有一个评测标准最高★★★★★):1.被集合字段范围小且固定型灵活性★性能★★★★难度★这种方法的原理在于你已经知道CITY字段的值有几种,且还不算太多,如果太多这个SQL就会相当的长。。看例子:SQL>selectt.country,2MAX(decode(t.city,'台北',t.city
7、
8、',',NULL))
9、
10、3MAX(decode(t.city,'香港',t.c
11、ity
12、
13、',',NULL))
14、
15、4MAX(decode(t.city,'上海',t.city
16、
17、',',NULL))
18、
19、5MAX(decode(t.city,'东京',t.city
20、
21、',',NULL))
22、
23、6MAX(decode(t.city,'大阪',t.city
24、
25、',',NULL))7fromtesttGROUPBYt.country8/COUNTRYMAX(DECODE(T.CITY,'台北',T.CIT--------------------------------------------------中国台北,
26、香港,上海,日本东京,大阪,大家一看,估计就明白了(如果不明白,好好补习MAXDECODE和分组)。这种方法无愧为最笨的方法,但是对某些应用来说,最有效的方法也许就是它。2.固定表固定字段函数法灵活性★★性能★★★★难度★★此法必须预先知道是哪个表,也就是说一个表就得写一个函数,不过方法1