Oracle查询结果列的加减、求和、连接、列值相乘

select prod.amount,prod.plansum,(prod.plansum-prod.amount) as borrow,d.enum_value from ----结果集相减
(select t.Quo_Prod_List_Price * t.QUO_PROD_VOLUME as amount ,----列值相乘
       t.quo_prod_plan_cost * t.quo_prod_volume as plansum , t.broad_class as broad_class
       from CP_QUOTATION_PROD t where t.quotation_id = ‘8‘) prod
left join
CP_ENUM_DICT d
on
prod.broad_class = d.enum_id
union ----连接查询汇总的数据  行1+行2  注意列名需对应 列类型对应  不够的列添加冗余 
select sum(t.Quo_Prod_List_Price * t.QUO_PROD_VOLUME ) as amount ,
       sum(t.quo_prod_plan_cost * t.quo_prod_volume) as plansum,0 as borrow ,‘0‘ as enum_value
from CP_QUOTATION_PROD t where t.quotation_id = ‘8‘

时间: 2024-08-11 01:34:34

Oracle查询结果列的加减、求和、连接、列值相乘的相关文章

12.2 VUE学习之-if判断,实践加减input里的值

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>vue</title> <link rel="stylesheet" href="">

Oracle 查询合并列

在ORACLE  查询时,有时要将多个列合并成一行,其方法如下: 1. decode 函数 decode 函数的语法为: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)        或 decode(条件,值1,返回值1,返回值2,...值n,返回值n,缺省值)  其定义如下:: IF 条件=值1 THEN  RETURN(翻译值1)  ELSIF 条件=值2 THEN  RETURN(翻译值2)  ......  ELSIF 条件=值n THEN  RET

二维树状数组的区间加减及查询 tyvj 1716 上帝造题的七分钟

具体解释见小结.http://blog.csdn.net/zmx354/article/details/31740985 #include <algorithm> #include <iostream> #include <cstring> #include <cstdlib> #include <cstdio> #include <queue> #include <cmath> #include <stack>

HDOJ 题目3966 Aragorn&#39;s Story(Link Cut Tree成段加减点权,查询点权)

Aragorn's Story Time Limit: 10000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5505    Accepted Submission(s): 1441 Problem Description Our protagonist is the handsome human prince Aragorn comes from The Lor

Oracle查询提示:未明确定义列

在调试Oracle一个查询语句时出现:未明确定义列 在这种情况下有可能存在的问题不是字段重命名的问题,而是在查询的列中有重复的列.例如: select A.*,rownum mynum from ( select ID,NAME,AGE,SEX,ADDR,TEL,AGE from STUDENT where SEX = '1' -- 语句1 )where rownum <=20 --语句2 在这种情况下单独执行语句1是没有问题的,如果从外面执行语句2就会出现ORA-00918的问题,只要把重复列

Oracle 如何对时间进行简单加减运算

在我们用dbms_job包进行定时Job的时候,需要设置时间间隔,所以需要知道时间的基本加减方法. SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'; 会话已更改. SQL> select sysdate, sysdate+1/24, sysdate +1/1440, sysdate + 1/86400 from dual; --分别是加一小时,一分钟,一秒钟 SYSDATE SYSDATE+1/24 SYSDATE+

Oracle中的日期加减

加法   select sysdate,add_months(sysdate,12) from dual;        --加1年 select sysdate,add_months(sysdate,1) from dual;        --加1月 select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual;   --加1星期 select sysdate,to_char(sysdate+1,'yyyy-mm-dd

ORACLE日期加减【转】

首先,感谢这个作者的辛勤汗水给我们带来的总结,因为日期函数操作对平时的使用真的是很常用,所以收藏一下以作后期使用. 原贴地址:http://www.cnblogs.com/xiao-yu/archive/2011/05/24/2055967.html 无论是DATE还是timestamp都可以进行加减操作.可以对当前日期加年.月.日.时.分.秒,操作不同的时间类型,有三种方法: 1 使用内置函数numtodsinterval增加小时,分钟和秒2 加一个简单的数来增加天3 使用内置函数add_mo

Oracle日期的加减运算

无论是DATE还是timestamp都可以进行加减操作.可以对当前日期加年.月.日.时.分.秒,操作不同的时间类型,有三种方法: 1 使用内置函数numtodsinterval增加小时,分钟和秒2 加一个简单的数来增加天3 使用内置函数add_months来增加年和月 例:对当前日期增加一个小时:SQL> select sysdate, sysdate+numtodsinterval(1,'hour') from dual ; SYSDATE             SYSDATE+NUMTOD