如何将下面的Sql Server查询转换为Oracle
SELECT
totalRecords = (SELECT
COUNT(*)
FROM
Finance
)
,
positiveAmt = SUM(positiveAmount),
negativeAmt = SUM(negativeAmount)
FROM
Finance
答案 0 :(得分:0)
select count(*), sum(positiveAmount), sum(negativeAmount)
into totalRecords, positiveAmt, negativeAmt
from Finance;
答案 1 :(得分:0)
negativeAmt = SUM(negativeAmount)
是Microsoft定义列别名的非标准方式。
在Oracle(以及几乎所有其他DBMS)中,列别名在之后写入列表达式,该表达式应该是别名,而不是在它前面。
所以你的查询变为:
SELECT COUNT(*) as totalRecords,
SUM(positiveAmount) as positiveAmt,
SUM(negativeAmount) as negativeAmt
FROM Finance
AS
关键字是可选的,但我建议使用它来使事情更清晰。
Oracle SQLFiddle:http://sqlfiddle.com/#!4/7f7da/1 SQL Server小提琴:http://sqlfiddle.com/#!3/7f7da/1