`

求一个SQL查询写法

SQL 
阅读更多

表如下:
表1
brand  codekey  content1
a         1             ccc
a         2             bbb
a         3             ddd
b         5             aaa
...
表2
brand  codekey  content2
a        1              xxx
a        1              yyy
a        2              zzz
b        8              hhh
...

我想查询的是,当条件brand = 'a' 时,查询结果如下:
brand  codekey  content
a         1             cccxxxyyy
a         2             bbbzzz
a         3             ddd

解释一下,返回的结果是key中不应该有重复的,对应的content列是相应的codekey的content1中的所有与content2中所有的字符串连接。


问题已解决,贴出解决办法,以供参考:

select brand, 
       codekey, 
       
replace(path, ' '''as content 
from ( select brand, 
              codekey, 
              
max(SYS_CONNECT_BY_PATH(content, ' ')) as path 
       
from ( select brand, 
                     codekey, 
                     content,
                     (row_number() 
over(order by brand, codekey, content) + dense_rank() over(order by brand, codekey)) rn, 
                     
min(content) over(partition by brand, codekey) content1 
              
from ( select brand, 
                            codekey, 
                            content1 
as content 
                     
from table1 
                     
union all select brand, 
                                      codekey, 
                                      content2 
as content 
                               
from table2 
                               
order by brand, codekey
                   )
            ) 
       start 
with content = content1 
       connect 
by prior rn = rn - 1 
       
group by brand, codekey 
       
having brand = 'a'
)
分享到:
评论

相关推荐

    PB脚本中SQL语句写法与SQL中语句写法对照

    PB脚本中SQL语句写法与SQL中语句写法对照 PB脚本中SQL语句写法与SQL中语句写法对照是非常重要的知识点,因为PB脚本和SQL语言在写法和应用中有所不同。本文将对PB脚本中SQL语句写法和SQL中语句写法进行对比和分析。 ...

    sql学习 集合写法.sql

    sql学习 集合写法.sql

    DB2常用SQL写法

    DB2还允许一些独特的SQL写法,例如,`AnyOneTable`表示任意一个存在的表,这在某些特定情况下非常有用。但需要注意,这种用法并不推荐在生产环境中频繁使用,因为可能会带来不必要的性能影响。 变量的声明和赋值在...

    绝对惊世骇俗的SQL写法

    1. **子查询和联接操作**:高级的SQL写法可能会利用子查询和多表联接来处理复杂的数据关系,比如在单个查询中同时处理多个表的数据,或者通过嵌套查询来获取特定条件下的子集。 2. **窗口函数**:MySQL 8.0引入了...

    高级SQL写法

    高级SQL写法

    SqlServer触发器写法案例

    假设我们有一个名为`OrderBook`的表,其中包含订单信息,以及一个名为`Categories`的表,用于存储不同类别的信息。每当向`OrderBook`表中添加一条新的订单记录时,我们需要更新相应的类别统计数量。 ##### 触发器...

    sql写法_CTE

    CTE是一种定义临时结果集的方法,这些结果集可以在同一个查询中多次引用。它并不是真正意义上的物理表,而是在查询过程中创建的一个虚拟表。CTE通过`WITH`关键字定义,并且可以包含任何合法的`SELECT`语句。CTE的...

    sql mongo对应写法

    sql mongodb对应写法 方便大家查询

    user.sql的写法

    user.sql的写法

    关于在SQL中抛出异常的写法

    在提供的示例中,`RAISERROR`被用来抛出一个与数据库ID和名称相关的错误: ```sql RAISERROR ('The current database ID is:%d, the database name is: %s.', 16, 1, @DBID, @DBNAME) ``` 这里,`%d`和`%s`是格式...

    SQL销售明细大佬写法.sql

    SQL销售明细大佬写法.sqlSQL销售明细大佬写法.sql SQL销售明细大佬写法.sqlSQL销售明细大佬写法.sql SQL销售明细大佬写法.sql

    C#SqlParameter参数写法

    使用`SqlParameter`进行参数化查询是.NET开发中的一个重要概念,它有助于确保数据安全性和提高执行效率。在实际应用中,建议尽可能使用参数化查询代替拼接SQL字符串的方式,尤其是在处理用户输入的情况下。此外,...

    mysql中获取一天、一周、一月时间数据的各种sql语句写法

    首先,我们创建了一个名为`t`的表,包含`id`和`addTime`两个字段,`addTime`字段存储的是日期时间类型,默认值为'0000-00-00 00:00:00'。然后,我们插入了两条示例数据,分别是'2012-07-12 21:00:00'和'2012-07-22 ...

    mysql只取年月日的SQL写法.sql

    mysql只取年月日的SQL写法

    SQL语句实现跨Sql server数据库操作实例

    首先,我们来看一下如何在一个SQL Server实例中查询另一个SQL Server实例的数据。这里假设我们需要从IP地址为192.168.1.1的SQL Server实例(数据库名为TT)中查询表test1的所有记录。 **SQL语句示例**: ```sql ...

    SQL查询分析器修正分离版.zip

    这个“SQL查询分析器修正分离版”很可能是一个独立版本的软件,专门设计用于解决某些特定问题或提供更高效的工作环境。在本文中,我们将深入探讨SQL查询分析器的功能、其在数据库管理中的应用,以及可能的修正和分离...

    sql 触发器的写法

    在本例中,我们需要创建一个触发器来根据“是否会员”这一字段的值自动设置“金额”字段。 首先,我们需要了解触发器的基本结构。触发器由CREATE TRIGGER语句创建,指定触发器的名字、作用的表以及触发的时间点。在...

    Hibernate中,利用Criteria查询容器实现sql的写法

    2. **Criteria**: 这是构建查询的基础,它代表了一个查询的模板。通过Session的createCriteria()方法,我们可以创建一个Criteria对象。 3. **Restrictions**: 这个类提供了各种限制条件,如等于、不等于、大于、...

    10个高级sql写法.pdf

    本文将介绍10个高级SQL写法,这些技巧主要源自MySQL 8.0环境,适用于处理各种业务需求。 1. **ORDER BY FIELD() 自定义排序** 在MySQL中,除了常见的`ASC`和`DESC`用于排序外,`ORDER BY FIELD()`函数允许我们...

Global site tag (gtag.js) - Google Analytics