SQL Oracle 到 SQL Server

西尔代兹

此查询适用于 Oracle:

SELECT EXTRACT(YEAR FROM "DATE_OF_PUBLICATION") AS years,  
       Count("LOSS_AMOUNT_(LOCAL_CCY)") AS events,   
       Max("LOSS_AMOUNT_(LOCAL_CCY)") AS max_losses, 
       Sum("LOSS_AMOUNT_(LOCAL_CCY)") AS sum_losses 
FROM (
  select * 
  from (
     select "DATE_OF_PUBLICATION",
            "LOSS_AMOUNT_(LOCAL_CCY)" 
     FROM TEST 
     ORDER BY "LOSS_AMOUNT_(LOCAL_CCY)" DESC 
  )
) 
GROUP BY EXTRACT(YEAR FROM "DATE_OF_PUBLICATION") 
ORDER BY EXTRACT(YEAR FROM "DATE_OF_PUBLICATION")

现在,我在 SQLServer 中执行了这个查询:

SELECT DATEPART(YEAR,"DATE_OF_PUBLICATION") AS years, 
       Count("LOSS_AMOUNT_(LOCAL_CCY)") AS events,   
       Max("LOSS_AMOUNT_(LOCAL_CCY)") AS max_losses, 
       sum("LOSS_AMOUNT_(LOCAL_CCY)") AS sum_losses 
FROM (
  select * 
  from (
    select "DATE_OF_PUBLICATION",
           "LOSS_AMOUNT_(LOCAL_CCY)" 
    FROM TEST 
    ORDER BY "LOSS_AMOUNT_(LOCAL_CCY)" DESC 
  )
) 
GROUP BY DATEPART (YEAR ,"DATE_OF_PUBLICATION") 
ORDER BY DATEPART(YEAR ,"DATE_OF_PUBLICATION")

我收到此错误:

The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and 
common table expressions, unless TOP, OFFSET or FOR XML is also specified.
乔治·门努蒂斯

正如错误明确指出的那样,ORDER BY在子查询中无效。

另外:在 SQL Server 中,当您使用子查询时,它必须有一个名称:

select * from ( select .....) 

无效,而

select * from ( select .....) as tablename

已验证

此外,您有两个不必要的子查询级别。以下应该工作:

SELECT 
    DATEPART(YEAR , "DATE_OF_PUBLICATION") AS years, 
    Count("LOSS_AMOUNT_(LOCAL_CCY)") AS events, 
    Max("LOSS_AMOUNT_(LOCAL_CCY)") AS max_losses, 
    Sum("LOSS_AMOUNT_(LOCAL_CCY)") AS sum_losses 
FROM AAA_20180711
GROUP BY DATEPART(YEAR , "DATE_OF_PUBLICATION") 
ORDER BY DATEPART(YEAR, "DATE_OF_PUBLICATION") 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Oracle到SQL Server的查询

来自分类Dev

SQL Server查询到Oracle

来自分类Dev

Oracle时间戳到SQL Server DateTime

来自分类Dev

从Oracle到SQL Server的多列IN条件

来自分类Dev

如何完成从SQL Server到Oracle的转换?

来自分类Dev

Oracle 到 SQL Server 转换错误

来自分类Dev

创建从 Oracle 到 SQL Server 的等效索引

来自分类Dev

在OpenQuery SQL中使用getdate()到Oracle Linked Server

来自分类Dev

从ORACLE转换到TO_DATE到SQL Server

来自分类Dev

从Oracle到SQL Server的迁移问题-关于删除级联

来自分类Dev

SQL Server 到 Oracle 数据类型转换

来自分类Dev

XML到Sql Server

来自分类Dev

从Oracle竞争SQL到ANSI SQL

来自分类Dev

将Oracle SQL转换为SQL Server

来自分类Dev

SQL Server TO Oracle表创建

来自分类Dev

从Oracle迁移到SQL Server

来自分类Dev

从 Oracle 重写 SQL Server 查询

来自分类Dev

从SQL Anywhere 16到SQL Server的迁移

来自分类Dev

XSD到SQL Server的转换

来自分类Dev

从Firebird到SQL Server的过程

来自分类Dev

从Access到SQL Server 2008

来自分类Dev

如何通过使用LinkedServer将SQL Server中的日期插入到TimeStamp(6)格式的Oracle中

来自分类Dev

刷新更改的数据库链接源(到SQL Server的Oracle网关)

来自分类Dev

如何修复从 SQL Server 2016 到 Oracle 12c 的链接服务器?

来自分类Dev

在Oracle SQL中将值选择到viarble

来自分类Dev

Oracle SQL-行到列

来自分类Dev

从Oracle到SQL 2019的外部表

来自分类Dev

从SQL进行TypedPolling并插入到Oracle

来自分类Dev

SQL到字符串的不同部分-Oracle SQL