将IDENTITY插入添加到视图中

时间:2013-02-21 15:50:00

标签: sql sql-server sql-server-2008 tsql

我正在努力滚动自己的立方体,我有一个类似于

的表格
drug_class      drug_name
h3b             drug x
h4b             drug y
h2f             drug z

这些列不是主键,可以对表中的每个记录重复N次。我想为我的立方体制作一个维度,并想知道是否可以将标识插入到像

这样的视图中
create view [My Dimension] as
select distinct drugID int identity,drug_class,drug_name
from myTable

我知道我可以获得一个独特的列表,并在表格中插入一个身份,但我想知道是否有办法用视图进行操作

1 个答案:

答案 0 :(得分:2)

最简单的方法是使用row_number()为每行创建唯一ID:

create view [My Dimension] as
select 
  row_number() over(order by drug_class) drugid,
  drug_class,
  drug_name
from yourtable

请参阅SQL Fiddle with Demo