我的数据库中有一个表,它在时间表的列中分别包含日期和时间,所以在前端将它显示为单个表我加入了日期和时间列并插入临时表并取消了它,但是,对于两个Unpivoted列,Pk_id是相同的,所以在下拉框中的前端,当我选择索引中的项目,在回发发生后在DDL中为6,它将返回到DDL中的索引1.所以,是一种为Unpivoted列添加序列号的方法,我的Unpivot查询是
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 ,因为它是相同的。
答案 0 :(得分:0)
我已经解决了我的上述问题,
我创建了另一个临时表,并创建了序列号,该表中的列具有我执行查询的不同值,
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