明显加入两行

时间:2010-01-24 23:49:06

标签: mysql

如果我的表格看起来像

num
1
2
3
4
5
6
7
8
9

我想在两列中显示相同的表

SELECT t1.num, t2.num FROM (SELECT * FROM x) AS t1, (SELECT * FROM x) AS t2

所以结果集看起来像

num
1,1
2,2
3,3
4,4
5,5
6,6
7,7
8,8
9,9

我将如何在MySQL中执行此操作

修改

抱歉,我不想让事情开始变得复杂:但这就是我真正想要做的事情

为了澄清一点,我真正想做的是

num
1,2
2,3
3,4
4,5
5,6
6,7
7,8
8,9

我希望能够做些什么:

SELECT t2.num - t1.num FROM ....

请注意,上述查询将返回所有1,但我的数据库中的值与上面显示的值不同

先谢谢

3 个答案:

答案 0 :(得分:4)

我不明白你为什么不做一些更简单的事情:

SELECT num AS num1, num AS num2 FROM x

或者如果你真的想要它作为一个字符串:

SELECT CONCAT(num, ',', num) AS num FROM x

如果您想两次选择表格,您可以自己加入表格,但我不明白您为什么要这样做:

SELECT CONCAT(T1.num, ',', T2.num) AS num
FROM x AS T1
JOIN x AS T2
ON T1.num = T2.num

如果您需要来自不同行的字段,例如, '1,2','2,3'等......当你提出问题时,也许你的过度简化了?您是否只是想学习如何使用连接语法?

答案 1 :(得分:3)

您可以删除其他所有内容,只需在select语句中列出两次列。所以在这种情况下,它是:

Select x.num as First_Num, x.num as Second_num from x

答案 2 :(得分:0)

试试这个SQL查询:

SELECT CONCAT(num, ',', num) AS num FROM x