У меня есть требование создать автоматически увеличенный идентификатор на основе определенного условия соединения.У меня есть две таблицы, каждая из которых имеет столбец идентичности.Первичная таблица будет иметь связь со вторичной таблицей в столбце «trxid».Ниже приведены примеры данных
declare @t1 table (trxid int,data1 varchar(100), data2 varchar(100))
declare @m table (mid int, trxid int, mname varchar(100), mdate date)
insert into @t1
select 1,'Test1','Test1'
union all
select 2,'Test2','Test2'
insert into @m
select 1,1,'Stage Gate1',GETDATE()
union all
select 2,1,'Stage Gate2',GETDATE()
union all
select 3,1,'Stage Gate3',GETDATE()
union all
select 4,1,'Stage Gate4',GETDATE()
union all
select 5,1,'Stage Gate5',GETDATE()
union all
select 6,1,'Stage Gate6',GETDATE()
union all
select 7,2,'Stage Gate1',GETDATE()
union all
select 8,2,'Stage Gate2',GETDATE()
union all
select 9,2,'Stage Gate3',GETDATE()
union all
select 10,2,'Stage Gate4',GETDATE()
union all
select 11,2,'Stage Gate5',GETDATE()
union all
select 12,2,'Stage Gate6',GETDATE()
union all
select 13,2,'Stage Gate7',GETDATE()
Результат с приведенным ниже утверждением
select t.trxid,m.mid,t.data1,t.data2,m.mname,m.mdate from @t1 t inner join @m m on(t.trxid=m.trxid)
trxid mid data1 data2 mname mdate
----------- ----------- ------- ------- --------------- ----------
1 1 Test1 Test1 Stage Gate1 2018-06-07
1 2 Test1 Test1 Stage Gate2 2018-06-07
1 3 Test1 Test1 Stage Gate3 2018-06-07
1 4 Test1 Test1 Stage Gate4 2018-06-07
1 5 Test1 Test1 Stage Gate5 2018-06-07
1 6 Test1 Test1 Stage Gate6 2018-06-07
2 7 Test2 Test2 Stage Gate1 2018-06-07
2 8 Test2 Test2 Stage Gate2 2018-06-07
2 9 Test2 Test2 Stage Gate3 2018-06-07
2 10 Test2 Test2 Stage Gate4 2018-06-07
2 11 Test2 Test2 Stage Gate5 2018-06-07
2 12 Test2 Test2 Stage Gate6 2018-06-07
2 13 Test2 Test2 Stage Gate7 2018-06-07
Ожидаемый результат
trxid id mid data1 data2 mname mdate
----------- ----------- ----------- ------- ------- --------------- ----------
1 1 1 Test1 Test1 Stage Gate1 2018-06-07
1 2 2 Test1 Test1 Stage Gate2 2018-06-07
1 3 3 Test1 Test1 Stage Gate3 2018-06-07
1 4 4 Test1 Test1 Stage Gate4 2018-06-07
1 5 5 Test1 Test1 Stage Gate5 2018-06-07
1 6 6 Test1 Test1 Stage Gate6 2018-06-07
2 1 7 Test2 Test2 Stage Gate1 2018-06-07
2 2 8 Test2 Test2 Stage Gate2 2018-06-07
2 3 9 Test2 Test2 Stage Gate3 2018-06-07
2 4 10 Test2 Test2 Stage Gate4 2018-06-07
2 5 11 Test2 Test2 Stage Gate5 2018-06-07
2 6 12 Test2 Test2 Stage Gate6 2018-06-07
2 7 13 Test2 Test2 Stage Gate7 2018-06-07