请问这样的语句Oracle支持吗?

buaawjh 2004-03-15 11:17:25
Select Caption,
Sum(Case
When (PP.AccClassid='131' And PP.Acid='300')
Then Ton
Else 0
End
) As 计费顿,
Sum(Case
When PP.AccClassid='131'
Then Fee
Else 0
End
) As 装卸船收入,
Sum(Case
When (PP.AccClassid='11' OR PP.Acid='14')
Then Fee
Else 0
End
) As 杂作业收入
From
(
/* 将相关数据表中用于统计的字段结合成一张表 */
Select
I.ComputerNumber,I.InvoiceDate,
IDe.AccClassid,IDe.ACid1 As Acid,IDe.Money1 As Fee,IDe.Ton1 As Ton,
CC.Caption
From Invoice As I,InvoiceDetail As IDe,Cargo As C,CargoClass As CC
Where
I.ComputerNumber=IDe.InvoiceNumber And
IDe.Cargoid=C.Cargoid and
C.PLevel11=CC.Plevel11
) As PP
Group By Caption
...全文
20 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
buaawjh 2004-03-15
  • 打赏
  • 举报
回复
很感谢,只不过听说oracle用的是DECODE
realgz 2004-03-15
  • 打赏
  • 举报
回复
至今还未听说在SQL Server力可以实现的查询在Oracle实现不了。
以上无非就是视图+case ,据我所知Oracle里这两个特性都很支持。
leeboyan 2004-03-15
  • 打赏
  • 举报
回复
Oracle没接触过,建议无人解答就转版
lvltt 2004-03-15
  • 打赏
  • 举报
回复
不懂
buaawjh 2004-03-15
  • 打赏
  • 举报
回复
我给,我这多的就剩分了:)
renfox99 2004-03-15
  • 打赏
  • 举报
回复
支持,可以用DECODE改写。
Select Caption,
Sum(decode(AccClassid||Acid,'131300',Ton,0)) 计费顿,
Sum(decode(AccClassid,'131',Fee,0)) 装卸船收入,
Sum(decode(AccClassid,'11' ,fee,0)+decode(Acid,'14',Fee,0)) 杂作业收入
From
(
/* 将相关数据表中用于统计的字段结合成一张表 */
Select
I.ComputerNumber,I.InvoiceDate,
IDe.AccClassid,IDe.ACid1 As Acid,IDe.Money1 As Fee,IDe.Ton1 As Ton,
CC.Caption
From Invoice As I,InvoiceDetail As IDe,Cargo As C,CargoClass As CC
Where
I.ComputerNumber=IDe.InvoiceNumber And
IDe.Cargoid=C.Cargoid and
C.PLevel11=CC.Plevel11
) Group By Caption,
要分。
welyngj 2004-03-15
  • 打赏
  • 举报
回复
可以,oralce支持的。oracle 9i也有case

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧