在sql中将两列合并为一列?

在sql中将两列合并为一列?,sql,Sql,假设我有一张这样的桌子: |x1|y1| |0 |1 | |2 |4 | |3 |2 | SELECT a.x1 AS .., a.y1 AS .., b.x1 AS .., b.y1 AS .., c.x1 AS .., c.y1 AS .., d.x1 AS .., d.y1 AS .. FROM xytable a, xytable b, xytable c, xytable d WHERE ... 我知道我可以做这样的事情:

假设我有一张这样的桌子:

|x1|y1|

|0 |1 |

|2 |4 |

|3 |2 |
SELECT a.x1 AS .., a.y1 AS .., 
       b.x1 AS .., b.y1 AS .., 
       c.x1 AS .., c.y1 AS .., 
       d.x1 AS .., d.y1 AS .. 
FROM xytable a, xytable b, xytable c, xytable d 
WHERE ...
我知道我可以做这样的事情:

|x1|y1|

|0 |1 |

|2 |4 |

|3 |2 |
SELECT a.x1 AS .., a.y1 AS .., 
       b.x1 AS .., b.y1 AS .., 
       c.x1 AS .., c.y1 AS .., 
       d.x1 AS .., d.y1 AS .. 
FROM xytable a, xytable b, xytable c, xytable d 
WHERE ...
然而,在我的结果表中,我希望将a.x1和a.y1一起输出,作为一列下的元组。换句话说,我想要:

|c1          |c2            |c3             |c4           |

(a.x1, a.y1) | (a.x2, a.y2) |  (a.x3, a.y3) | (a.x4, a.y4)
有可能吗?

作为字符串

你可以这样做

SELECT '(' + convert(varchar, x1) + ',' + convert(varchar, y1) + ')' as "col"
作为字符串

你可以这样做

SELECT '(' + convert(varchar, x1) + ',' + convert(varchar, y1) + ')' as "col"

如果您使用的是MySQL,则可以使用
CONCAT
函数:

SELECT 
     CONCAT('(', a.x1, ', ', a.y1, ')') AS c1
FROM 
    xytable a, xytable b, xytable c, xytable d 
WHERE 
    ...
在SQL Server中,可以使用
+
运算符连接字符串:

SELECT 
    '(' + a.x1 + ', ' + a.y1 + ')' AS c1
FROM 
    xytable a, xytable b, xytable c, xytable d 
WHERE 
    ...

如果您使用的是MySQL,则可以使用
CONCAT
函数:

SELECT 
     CONCAT('(', a.x1, ', ', a.y1, ')') AS c1
FROM 
    xytable a, xytable b, xytable c, xytable d 
WHERE 
    ...
在SQL Server中,可以使用
+
运算符连接字符串:

SELECT 
    '(' + a.x1 + ', ' + a.y1 + ')' AS c1
FROM 
    xytable a, xytable b, xytable c, xytable d 
WHERE 
    ...

告诉我们您使用的是哪种SQL变体:SQL Server?神谕MySQL?这个问题还不清楚。也许是一个输入/输出表?告诉我们您使用的是哪种SQL变体:SQL Server?神谕MySQL?这个问题还不清楚。也许是一个输入/输出表?