可以构造SQL来连接多行中的列值吗?
以下是一个示例:
表A
PID
一种
乙
C
表B
PID序列描述
A 1有
A 2不错
3天。
B 1做得好。
C 1是
C 2我们可以
C 3做
C 4这项工作!
SQL的输出应为-
PID描述
A祝你有美好的一天。
B做得好。
C是的,我们可以做这项工作!
因此,基本上,输出表的Desc列是表B的SEQ值的串联?
对SQL有帮助吗?
有几种方法取决于您使用的版本-请参见有关字符串聚合技术的oracle文档。一种很常见的用法是LISTAGG
:
SELECT pid, LISTAGG(Desc, ' ') WITHIN GROUP (ORDER BY seq) AS description
FROM B GROUP BY pid;
然后加入以A
挑选pids
您想要的。
注意: 开箱即用,LISTAGG
仅适用于VARCHAR2
列。
主要内容:1.内连接,2. 左连接 - LEFT JOIN,3. 右连接 - RIGHT JOIN,4. 全连接 - FULL JOIN顾名思义,连接(JOIN)表示要结合一些东西。 在SQL的情况下,连接(JOIN)表示“组合两个或更多表”。 在SQL中,子句用于组合数据库中两个或多个表的记录。 SQL JOIN的类型 内连接 - INNER JOIN 左连接 - LEFT JOIN 右连接 - RIGHT JOIN 全连接 - FULL JOIN 假设有以下几张表,EMPLOYEE 表的结构
我需要连接来自两个不同表的数据,如下所示。仅使用一个sql查询就可以做到这一点吗?如果“key”和“name”在两个表上,那么它们是相同的。表1中的“状态”始终为“-”,表2中的“T”。此外,两个表上的“名称”和“comp”都匹配(例如:Name3-C和Name4-B)<我尝试过“联合”和“加入”,但还没有解决办法! 表1 表2 结果应该是。。。 提前谢谢!
问题内容: 我在ms access 2010中有2个表,如下所示 我想从贷款表中选择名称而不是数字(l_from&l_to) 问题答案: 两次这样的表: SQL Fiddle演示(它是SQL Server 2008,但我认为ms- access的语法应相同)
问题内容: 我试图通过连接多个表从sql查询中获得所需的结果。由于知识有限,因此寻求大家的帮助。 我正在尝试获取每个经理和员工的审核详细信息。我有3张桌子: 以下是 HR 表的示例数据: 以下是 REQUIRED_AUDITS 表的示例数据: 以下是 SCORE_ENTRY 表的示例数据: 因此,现在我想显示每个经理需要进行的审核数量,完成的数量以及完成的百分比。 计算方法如下: 1.要计算审核数
问题内容: 桌子: 我的查询: 我收到“ MySQL子查询返回多个行”错误。 我知道此查询可以使用以下查询的解决方法: 然后使用php循环遍历结果并执行以下查询以获取和回显它: 但是我认为可能会有更好的解决方案? 问题答案: 简单的解决方法是在子查询中添加一个子句: 一个更好的选择(就性能而言)是使用联接:
问题内容: 如果每个员工有多个联系方式,我将获得多行,但我只希望每位员工列出他们的姓,名,部门名称,电子邮件和电话。 所以它应该像这样 这是我所拥有的,但不起作用: 我用以下查询解决了它: 问题答案: 如果要选择,则在子查询中,这两个联接可能是不必要的: 由于它们,您得到的行与特定人的联系人一样多。 最终查询可能类似于: