如果我的表格看起来像
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,但我的数据库中的值与上面显示的值不同
先谢谢
答案 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