【问题标题】:Is there a code for concactenantion in SQL?SQL中是否有连接代码?
【发布时间】:2011-02-07 12:47:01
【问题描述】:

我在数据库中有一条记录:

Column1          Column2

    1               a
    1               b
    1               c

结果是:

Column1           Result

    1              abc

我只想要这个查询,这样我就不会使用循环:)

【问题讨论】:

标签: sql


【解决方案1】:

对于 MS SQL,您可以使用:

Declare @result varchar(1000)
Set @Result = ''

Select 
         @result = (@result  + Column2)

From MyTable
Where Column1 = 1


Select @Result

【讨论】:

    【解决方案2】:

    聚合连接不是聚合的 SQL 标准 (SUM, COUNT, AVG, MIN, MAX, LAST, FIRST) 的一部分,因此如果您的 DBMS 没有这样的功能,您可能应该定义一个新的 aggregate function

    PostgreSQL documentation offers a nice tutorial on the subject.

    【讨论】:

      【解决方案3】:

      标准 SQL 在设计上没有 CONCATENATE 设置函数,因为所有 SQL 数据类型都是标量。

      【讨论】:

        【解决方案4】:

        如果你使用 MySQL 或 Oracle,你可以使用:

        选择 CONCAT(col1,col2) FROM 你的表

        【讨论】:

        • 如果他想连接 2 列,那就太好了,但他想根据另一列的值连接一列中的值。
        猜你喜欢
        • 1970-01-01
        • 2013-02-14
        • 1970-01-01
        • 2014-10-25
        • 1970-01-01
        • 2014-11-18
        • 2023-02-09
        • 2010-12-25
        • 2012-06-06
        相关资源
        最近更新 更多