代码之家  ›  专栏  ›  技术社区  ›  Angel.King.47

把两行清楚地连在一起

  •  0
  • Angel.King.47  · 技术社区  · 16 年前

    如果我有一张像

    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 ....
    

    提前谢谢

    3 回复  |  直到 16 年前
        1
  •  4
  •   Mark Byers    16 年前

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

    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”等,则更有意义。。。也许你提出问题时把事情简单化了?您只是想学习如何使用连接语法吗?

        2
  •  3
  •   aronchick    16 年前

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

    Select x.num as First_Num, x.num as Second_num from x
    
        3
  •  0
  •   Somnath Muluk    14 年前

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