Sql server 从内联查询表中的特定行号中提取

Sql server 从内联查询表中的特定行号中提取,sql-server,sql-server-2012,fetch,offset,Sql Server,Sql Server 2012,Fetch,Offset,我有一个数据库,我需要将特定报告的前15个值从行转换为列 我有一个主查询,它提取通用数据,然后在内联查询上进行左外连接 内联查询如下所示: Left Outer Join (Select t.a, t.b, t.c, CASE WHEN t.d THEN 1 ELSE 0 END AS Cnt From MyTable t Order by t.StartDate DESC Offset 0 Rows Fetch Next 1 Rows)

我有一个数据库,我需要将特定报告的前15个值从行转换为列

我有一个主查询,它提取通用数据,然后在内联查询上进行左外连接

内联查询如下所示:

Left Outer Join
(Select t.a,
        t.b,
        t.c,
        CASE WHEN t.d THEN 1 ELSE 0 END AS Cnt
 From   MyTable t
 Order by t.StartDate DESC
 Offset 0 Rows Fetch Next 1 Rows) g1 On p.a = t.a
                                     And p.b = t.b
                                     And p.c = t.c
但是,当我尝试运行查询时,我得到

“靠近“)”的语法不正确”


指示内联查询的结束

在您的
案例中
,您的suntax不正确

CASE WHEN t.d THEN 1 ELSE 0 END AS Cnt
t.d
应该等于什么

e、 g

Offset 0 Rows Fetch Next 1 Rows ONLY)

当t.d然后1或0结束为Cnt时的情况。。。Case when t.d=什么?Case when的问题是我的信息输入错误。那很好。问题出在后面几行。非常感谢。没问题,很高兴有帮助。
CASE WHEN t.d > 20 THEN 1 ELSE 0 END AS Cnt
Offset 0 Rows Fetch Next 1 Rows ONLY)