在Sql中将Budget列显示为Position Column

时间:2015-06-24 11:00:07

标签: sql

我的表格结构

Designation_id  Budget
    102         6
    105         5
    106         2

需要输出。

Designation_ID   Position
    102          1
    102          2
    102          3
    102          4
    102          5
    102          6
    105          1
    105          2
    105          3
    105          4
    105          5
    106          1
    106          2

这是可能的。

1 个答案:

答案 0 :(得分:0)

你需要一张数字表。这可以在运行中创建。这是典型的语法:

select s.designation_id, n.n as position
from (select 1 as n union all select 2 union all select 3 union all select 4 union all
      select 5 union all select 6
     ) n join
     structure s
     on s.budget >= n.n;

子查询的确切语法可能会有所不同,具体取决于数据库。