Sql server 从内联查询表中的特定行号中提取
我有一个数据库,我需要将特定报告的前15个值从行转换为列 我有一个主查询,它提取通用数据,然后在内联查询上进行左外连接 内联查询如下所示: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)
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)