0

我有多个表,每个表中都有 Nr_Crt 作为自动增量。我能够显示查询结果,但我的问题是:表 1

nr_crt |item
     1 |item 1
     2 |item 2
     3 |item 3

和表 2

nr_crt |item
     1 |song 1
     2 |song 2
     3 |song 3.

有没有办法像这样显示结果?

Nr. | Product
  1 |item 1
  2 |item 2
  3 |item 3
  4 |song 1
  5 |song 2
  6 |song 3

我知道我必须使用 SELECT COUNT(*) FROM 之类的东西.....谢谢。

4

2 回答 2

1

这应该这样做:

SELECT @row := @row + 1 AS nr, 
       a.val            AS product 
FROM   (SELECT item AS val 
        FROM   table1 
        UNION ALL 
        SELECT item 
        FROM   table2) a 
       JOIN (SELECT @row := 0) r 

结果

| 天然橡胶 | 产品 |
----------------
| 1 | 项目 1 |
| 2 | 项目 2 |
| 3 | 项目 3 |
| 4 | 歌曲 1 |
| 5 | 歌曲 2 |
| 6 | 歌曲 3 |

查看演示

于 2013-03-22T17:10:22.973 回答
0
SELECT  @rnk := @rnk + 1 nr_crt,
        a.item
FROM
        (
            SELECT  nr_crt, item, 1 ordr FROM TableA
            UNION ALL
            SELECT  nr_crt, item, 2 ordr FROM TableA
        ) a, (SELECT @rnk := 0) b
ORDER   BY a.ordr ASC, a.nr_crt ASC

输出

╔════════╦════════╗
║ NR_CRT ║  ITEM  ║
╠════════╬════════╣
║      1 ║ item 1 ║
║      2 ║ item 2 ║
║      3 ║ item 3 ║
║      4 ║ item 1 ║
║      5 ║ item 2 ║
║      6 ║ item 3 ║
╚════════╩════════╝
于 2013-03-22T17:11:25.977 回答