在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?这个问题还不清楚。也许是一个输入/输出表?