如何获取 ROW_NUMBER() 的替代值?

How to get values alternate for ROW_NUMBER()?

我有一个 table 值如下:

Name    Order    Innings
Suresh    1         1
Ramesh    2         1
Sekar     3         1
Raju      1         2
Vinoth    2         2
Ramu      3         2

我想要这样的结果:

1stInn  2ndInn  Order
Suresh  Raju      1
Ramesh  Vinoth    2
Sekar   Ramu      3

我在 SQL 服务器中使用 ROW_NUMBER() 得到了结果。

我想要在 SQL Compact 中得到相同的结果,但是我不能在 SQL Compact 中使用 ROW_NUMBER()

我正在使用 SQL 精简版 - 4.0.8482.1

我怎样才能得到结果?

为什么需要 ROW_NUMBER()?您可以使用条件聚合使用 CASE EXPRESSION :

SELECT MAX(CASE WHEN t.innings = 1 THEN t.name END) as 1stInn,
       MAX(CASE WHEN t.innings = 2 THEN t.name END) as 2sndInn,
       t.Order
FROM YourTable t
GROUP BY t.order

简单的 Pivot 会给出类似的结果

DECLARE @Table1  TABLE 
    ( Name  varchar(6),  [Order]  int,  Innings  int)
;

INSERT INTO @Table1
    ( Name ,  [Order] ,  Innings )
VALUES
    ('Suresh', 1, 1),
    ('Ramesh', 2, 1),
    ('Sekar', 3, 1),
    ('Raju', 1, 2),
    ('Vinoth', 2, 2),
    ('Ramu', 3, 2)
;
select [1] AS '1stinn',[2] AS '2ndinn',[order] from(
select Name ,  [Order] ,  Innings from  @Table1)T
PIVOT (MAX(NAME) FOR Innings IN ([1],[2]))PVT