|
|
1
47
在
在
在
在
|
|
|
2
9
|
|
|
3
3
假设它是一个包含多个值的列,这种方法适用于ms sql server(我不能代表其他系统)。
|
|
|
4
3
mysql方式:
|
|
|
5
1
这是您正在寻找的答案;我感觉解决方案就在connect by操作中,我之前没有使用sys_connect_by_path伪列(它在树中显示节点的完整路径,用“/”分隔节点名称)。假设之前的一组“foo”值是表中的多行,按列“mykey”分组,例如:
您可以将数据视为一个树模式,并假设每个组的值表示沿分支向下的节点。在这种情况下,你应该这样做:
当然,连接值的顺序是随机的;如果您的表有另一列(“bar”)可以用作升序和连续的排序字段,那么您可以不使用子查询(它只存在于向树放置一个虚构的深度)并使用表direc把nodedepth换成bar。 |
|
|
6
1
编辑: 因为8.4.0版本cubrid提供了 90% compatibility 使用MySQL。因此,它支持 GROUP_CONCAT 其语法与mysql相似:
相当强大,不是吗?下面是一个 alternative solution 在古巴本土支持。
有趣的是,这种在cubrid中连接不同行列值的方法几乎与@devio提供的oracle方法相同。不过,在库布里德看来要容易一点。 |
|
|
7
0
如果列已经是字符串,则不需要转换,只需执行以下操作:
对于来自多行的数据,使用 PIVOT . |
|
|
8
0
串接字符串取决于您正在使用的数据库(您在问题中没有提到什么版本,所以这里是…)。
在Oracle和DB2中,您可以使用
SQL Server您可以使用“+”运算符…
在mysql中
最后在postgresql中
…我从这本很酷的书中得到这个,我坐在我的桌子上,O'Reilly的SQL袖珍指南…过来看! :) |
|
|
9
0
这可能不是你想要的,但我在过去有过这样的好运气:
它是独立于平台的,当foo有一个任意但数量有限的值,并且它们基于一些其他键值时,它可以很好地工作。例如,如果您有一个发票表,并且希望在一行中看到发票的所有行时间,并且您有一个5行项目的上限,则如下所示:
|
|
|
10
0
SQL Server 2008 R2:
|
|
|
11
0
我找到了答案 How to concatenate all the records in a column returned by a query into one varchar string in T-SQL?
这应该可以解决 |
|
|
12
-2
从[表]中选择([col1]+'、'+[col2]+'、'+[col3]+'、'+[col4])作为[mycol] |
|
|
Johnny T · 基于当前值的SQL合并表[重复] 1 年前 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
ojek · 如何对SQL结果进行分组和编号? 1 年前 |
|
|
senek · 如何在PL/SQL中将选择结果(列)放入数组中 1 年前 |
|
|
Sax · 规范化Google表格(第一步) 1 年前 |
|
|
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |