Как вставить серийный номер в несводную колонку

У меня есть таблица в моей БД, которая содержит дату и время отдельно в столбцах для таблицы времени, поэтому для отображения ее как единого во внешнем интерфейсе я присоединил столбец даты и времени, вставил во временную таблицу и развернул ее, но Pk_id одинаково для обоих несводных столбцов, поэтому в интерфейсе в раскрывающемся списке, когда я выбираю элемент в индексе, скажем, на 6 в DDL, после того, как произойдет обратная передача, он вернется к индексу 1 в DDL. Итак, есть ли способ введите серийный номер для несводных столбцов, My Unpivot Query,

  Select * from  
(  
  Select pk_bid,No_of_batches,Batch1,Batch2,Batch3,Batch4, from #tempbatch   
) as p  
  Unpivot(Batchname for [Batches] in([Batch1],[Batch2],[Batch3],[Batch4])) as UnPvt  

В приведенном выше запросе pk_bid и No_of_Batches одинаковы, поэтому, если я поставлю Rownumber() Partition by pk_bid Order by pk_bid или Rownumber() Partition by No_of_Batches Order by No_of_Batches, он даст 1,1 только потому, что это одно и то же.


person Rajesh    schedule 07.10.2013    source источник
comment
Можете поделиться скриптом (sqlfiddle.com)?   -  person Naveed Butt    schedule 07.10.2013
comment
@Naveed Мой исходный запрос содержит около 100 строк.   -  person Rajesh    schedule 07.10.2013


Ответы (1)


Я решил свою вышеуказанную проблему следующим образом:

Я создал еще одну временную таблицу и создал серийный номер со столбцом в этой таблице с разными значениями. Запрос, который я сделал,

    Create Table #Tempbatch2
   (
     pk_bid int,  
     No_of_batches int,  
     Batchname Varchar(max),  
     [Batches] Varchar(max)  
   )

    Insert Into #Tempbatch2 
    Select * from  
    (  
      Select pk_batchid,No_of_batches,Batch1,Batch2,Batch3,Batch4 from #tempbatch   
    ) as p  
   Unpivot(Batchname for [Batches] in([Batch1],[Batch2],[Batch3],[Batch4])) as UnPvt

  Select Row_number() OVER(ORDER BY (Batchaname)) as     S_No,pk_bid,No_of_batches,Batchname,[Batches] from #Tempbatch2 
person Rajesh    schedule 07.10.2013