当前位置: 首页 > 面试题库 >

如果第一列值相同,则连接第二列值

孔正文
2023-03-14
问题内容

我有一个类似下面的查询,并列出了它的输出:

SELECT DISTINCT TRACKING_NUM,TITLE_OF_DOC_SEC 
FROM some_table  
WHERE  TRACKING_NUM IS NOT NULL;

o / p:

TRACKING_NUM   TITLE_OF_DOC_SEC
007            Email Flow
007            Test Bug 53306
007            Title 1119
007            Title Test
007            test bug
009            1156
089            Title 21173
098            test Doc Section

我想重新编写查询,以便获得如下输出:

TRACKING_NUM    TITLE_OF_DOC_SEC
007             Email Flow,Test Bug 53306,Title 1119,Title Test,test bug
009             1156
089             Title 21173
098             test Doc Section

有人可以帮忙吗?


问题答案:

在11g中使用Listagg()或在10g中使用WM_Concat():

   SELECT LISTAGG(TITLE_OF_DOC_SEC, ',') WITHIN GROUP (ORDER BY TRACKING_NUM) AS TITLE_OF_DOC_SEC 
     FROM your table
    WHERE....

   SELECT WM_CONCAT(TITLE_OF_DOC_SEC) AS TITLE_OF_DOC_SEC
     FROM your table
    WHERE....


 类似资料:
  • 我正在建立汽车生日愿望项目。到目前为止,我已经设法循环了一个月 csv文件包含以下信息

  • 问题内容: 问题非常 类似于此查找重复项,但我只想查找那些重复代码与“ ROME”不同且至少一个名称为“ ROME”的重复ID。 我想要理想的结果,因为: ID重复。 2.至少一个来源是“ ROME” 。 3.该ID的其余行不是“ ROME” Table ID ORIGIN 1 ROME 1 ROME 2 ROME 2 LODI 3 ASTI 4 PISA 4 BARI Desired Resul

  • 问题内容: 我有作为元组的股票和持仓清单。买入为正,卖出为负。例: 我如何求和股票头寸,以获取当前持股量? 问题答案: 这个怎么样?您可以阅读有关。

  • 问题内容: 如何从表中选择所有内容,并且如果列的值相同,则仅选择具有最大值的行,因此,如果有这样的表: 它只会选择ID最高的“ bob”,因此结果将返回: 谢谢你。 问题答案: 您可以使用子查询来计算每个名称的最大ID,然后返回与该子查询返回的ID匹配的所有行: 请看这里的小提琴。

  • 问题内容: 我有一张桌子 提供值后,需要计算为 我想乘和列并将结果存储在同一表的列中。 我已经试过了: 但是失败了! 有人请帮助我实现这一目标。 问题答案: 尝试更新表格

  • 我想要两个表上的连接,如果值为NULL,则复制左连接行为,如果值为NOULL,则复制内连接行为。例如,对于表: 该联接将返回一行值(根据左联接)。对于表格: 不会返回任何行(根据内部联接)。对于表格: 将返回值为的单行(根据两种联接类型)。 最有效的方法是什么? 编辑:作为效率最大化的一部分,我正在寻找一个不进行后期筛选的查询(即使用子句)。