<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DBAlife &#187; 多行</title>
	<atom:link href="http://www.dbalife.com/archives/tag/%e5%a4%9a%e8%a1%8c/feed" rel="self" type="application/rss+xml" />
	<link>http://www.dbalife.com</link>
	<description>网站系统架构实践</description>
	<lastBuildDate>Wed, 27 Jul 2011 09:57:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>用SQL处理多行汇聚问题</title>
		<link>http://www.dbalife.com/archives/379.html</link>
		<comments>http://www.dbalife.com/archives/379.html#comments</comments>
		<pubDate>Wed, 03 Feb 2010 04:50:12 +0000</pubDate>
		<dc:creator>skywalker</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[数据库管理]]></category>
		<category><![CDATA[软件开发]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[多行]]></category>
		<category><![CDATA[汇聚]]></category>

		<guid isPermaLink="false">http://www.dbalife.com/?p=379</guid>
		<description><![CDATA[表结构如下： NAME                            Null          Type ------------------------  ---------  ----- N_SEC_CODE                NOT NULL  CHAR(6) C_RESEARCHER_CODE  NOT NULL  VARCHAR2(20) 此表保存了“股票”与“研究员”的对应关系数据，一般而言，对于同一只股票而言，可能有多个研究员对其进行跟踪研究。所以目前遇到一个要求，需查询出每只股票和对应的研究员（研究员代码间，使用逗号分隔）。 例如有如下数据： 000297                            [...]
Related posts:<ol>
<li><a href='http://www.dbalife.com/archives/41.html' rel='bookmark' title='sqlplus下如何看执行计划'>sqlplus下如何看执行计划</a></li>
<li><a href='http://www.dbalife.com/archives/6.html' rel='bookmark' title='Oracle分析函数参考手册'>Oracle分析函数参考手册</a></li>
<li><a href='http://www.dbalife.com/archives/39.html' rel='bookmark' title='Statistics Lock导致的IMP问题'>Statistics Lock导致的IMP问题</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>表结构如下：<br />
NAME                            Null          Type<br />
------------------------  ---------  -----<br />
N_SEC_CODE                NOT NULL  CHAR(6)<br />
C_RESEARCHER_CODE  NOT NULL  VARCHAR2(20)</p>
<p>此表保存了“股票”与“研究员”的对应关系数据，一般而言，对于同一只股票而言，可能有多个研究员对其进行跟踪研究。所以目前遇到一个要求，需查询出每只股票和对应的研究员（研究员代码间，使用逗号分隔）。</p>
<p>例如有如下数据：<br />
000297                                    chenpeng           <br />
000297                                    liusu             <br />
合并处理后需显示为：<br />
000297                                    chenpeng,liusu</p>
<p>多行数据汇总聚一行，只需要把SQL中“n_sec_code”换为你的用来汇总的列，“c_researcher_code”替换为需合并文本的列，“m_researcher_stock_rel”替换为你的表名</p>
<p> SELECT n_sec_code,<br />
  TRANSLATE (LTRIM (text, '/'), '*/', '*,') researcherList<br />
   FROM<br />
  (SELECT ROW_NUMBER () OVER (PARTITION BY n_sec_code ORDER BY n_sec_code, lvl DESC) rn,<br />
    n_sec_code                                                                         ,<br />
    text<br />
     FROM<br />
    (SELECT n_sec_code,<br />
      LEVEL lvl       ,<br />
      SYS_CONNECT_BY_PATH (c_researcher_code,'/') text<br />
       FROM<br />
      (SELECT n_sec_code                      ,<br />
        c_researcher_code AS c_researcher_code,<br />
        ROW_NUMBER () OVER (PARTITION BY n_sec_code ORDER BY n_sec_code,c_researcher_code) x<br />
         FROM m_researcher_stock_rel<br />
     ORDER BY n_sec_code,<br />
        c_researcher_code<br />
      ) a CONNECT BY n_sec_code = PRIOR n_sec_code<br />
    AND x - 1                   = PRIOR x<br />
    )<br />
  )<br />
  WHERE rn = 1<br />
ORDER BY n_sec_code;</p>
<p>Related posts:<ol>
<li><a href='http://www.dbalife.com/archives/41.html' rel='bookmark' title='sqlplus下如何看执行计划'>sqlplus下如何看执行计划</a></li>
<li><a href='http://www.dbalife.com/archives/6.html' rel='bookmark' title='Oracle分析函数参考手册'>Oracle分析函数参考手册</a></li>
<li><a href='http://www.dbalife.com/archives/39.html' rel='bookmark' title='Statistics Lock导致的IMP问题'>Statistics Lock导致的IMP问题</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.dbalife.com/archives/379.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

