Oracle表另命名的问题

select count(*) as num from IS_ContractHis a,(select b.IID,a.SModel,sum(a.ISetts) as tsetts,sum(b.FTOTALAMOUNT) as NFTOTALAMOUNT from IS_ContractOrder a ,IS_Contract b where a.IID=b.IID group by b.IID,a.SModel) b where a.IID=b.IID and b.? like '%ll%'
我想知道我标致了?的那个b表所代表的是语句中那个表?
多谢!!

0

3个回答

是这个子查询的结果集:
code="sql" as tsetts,
sum(b.FTOTALAMOUNT) as NFTOTALAMOUNT
from IS_ContractOrder a, IS_Contract b
where a.IID = b.IID
group by b.IID, a.SModel)
[/code]

其实你把语句在PL/SQL中Beautifier一下就很容易看出来啦:
[code="sql"]
select count(*) as num
from IS_ContractHis a,
(select b.IID,
a.SModel,
sum(a.ISetts) as tsetts,
sum(b.FTOTALAMOUNT) as NFTOTALAMOUNT
from IS_ContractOrder a, IS_Contract b
where a.IID = b.IID
group by b.IID, a.SModel) b
where a.IID = b.IID
and b.? like '%ll%'
[/code]

0

IS_Contract b

0
weixin_42502043
呗呗、¢ 嗯! b后面的括号里面的内容
6 年多之前 回复
jinnianshilongnian
jinnianshilongnian 粗心了, 是这个 (select b.IID,a.SModel,sum(a.ISetts) as tsetts,sum(b.FTOTALAMOUNT) as NFTOTALAMOUNT from IS_ContractOrder a ,IS_Contract b where a.IID=b.IID group by b.IID,a.SModel) b
6 年多之前 回复

b代表整个子查询结果集。通过SQL的格式化工具将SQL Format一下就很直观了。
BTW: like '%ll%'这样写效率啊……

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
oracle 常用写法--表名字段名命名
oracle表名字段名命名有以下规范以字符开头30个字符以内只能包含A-Z,a-z,0-9,_,$,#不能和同一个用户下的其他对象重名不能是oracle服务器的保留字
Oracle数据库-------------------表的创建与使用(为表重命名)
关于Oracle数据库的学习记录:三十、表的创建与使用(为表重命名)对于Oracle而言,对象是一个重要的概念,所有的数据库对象必须由Oracle统一管理在Oracle数据库里面为了能够记录下所有对象信息,提供了数据字典的概念,在数据库里面一共提供了三个级别的数据字典:**用户级别:user_*开头,指的是一个用户可以使用的数据字典**管理员级别:dba_*开头,指的是由数据库管理员使用的数据字典...
ORACLE表名命名规则
ORACLE表名命名规则 1、必须以字母开头2、长度不能超过30个字符3、避免使用Oracle的保留字4、只能使用如下字符 A-Z,a-z,0-9,#$等
oracle 表字段命名规范
  命名一律为大写字母(或小写,不要大下写混合)英文单词单数命名.例:FACTORY 英文单词缩写命名.例:DEPT 英文单词之间用下划线连结,且每个单词皆为单数.例:TASK_RESULT 用来存储历史资料,命名以HISTORY结尾.例:TASK_HISTORY 用来存储日志资料,命名以LOG结尾.例:TASK_LOG 用来存储类别资料,命名以TYPE结尾.例:TASK_TYPE ...
如何在一个表中的一列的值赋值给同一个表中的另一列
问题如下:
ORACLE根据某一列的值修改另一列的值
SQL> select * from test;        ID     AMOUNT TYPE---------- ---------- ----------         1        100 in         2        100 in         3         50 out         4         70 out         5       
oracle-将另外一张表的列更新到本表的列
update test1 a set a.name=(select b.name from test2 b where a.id=b.id) where a.id in (select id from test2);
Oracle子查询的返回结果当做表,主查询使用列别名查询的问题
  今天是实习的第二天,碰到一个问题。   在设计场景时,添加了type_salary逻辑字段(员工工资大于本部门平均工资时显示为A,否则显示为B)。    SELECT avgs.department_id, avgs.avg_sal FROM (SELECT emp3.department_id "department_id", AVG(...
判断一个表的一列是否在另一张表的一列存在
引子 现有个需求,查询出表A中的a列中的每一条数据是否在B表中的B列存在。 解决方案 select * from A where exists(select 1 from B where A.a = B.b)
oracle表名、字段名等对象的命名长度限制
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。 深蓝的blog:   今天在为某系统数据库结构整理升级脚本时,遇到了“命名字节过长的错误”,类似于下面的截图语句:         由于升级的结构中对于字段名的命名根据业务进行了修改,出现了命名过长的情况。 这里想说一下,对于oracle,表名、字段名等对象命名字节个数限制在了30个字节!是
oracle命名规则
1、编写目的   使用统一的命名和编码规范,使数据库命名及编码风格标准化,以便于阅读、理解和继承。   2、适用范围   本规范适用于公司范围内所有以ORACLE作为后台数据库的应用系统和项目开发工作。   3、对象命名规范   3.1 数据库和SID   数据库名定义为系统名+模块名   ★ 全局数据库名和例程SID 名要求一致   ★ 因SID
oracle 把一张表的数据放入另一张表
insert into temp_message(id,pk_id,recevetime,speed,flow,occupy,timelength) select m.id,m.pk_id,m.recevetime,m.speed,m.flow,m.occupy,m.timelength from message m where id =1;
oracle定时任务获取表中的数据后插入到另外指定表
1《创建一个测试表 》        create table t_test(dt date); 2《创建一个存储过程 》        create or replace procedure p_test as         begin         insert into t_test values(sysdate);         end; 3...
Oracle两个关联表的数据,把一个表的某一列数据复制到另一个表上
Oracle两个关联表的数据,把一个表的某一列数据复制到另一个表上
将数据库表的一列赋值给另外一列
项目里面用到的数据库表需要手动修改一些东西。行数少的时候,自己手动设置就可以了。但是行数越来越多,就要想办法了。 将一列赋值给另外一列,可以让这个表作为两个表,两个表连接起来,再将其中的一个表的列内容赋值给另外一列。sql如下: UPDATE tree_table a INNER JOIN tree_table b ON a.id=b.id SET a.hrefAddress=b.id whe
Oracle数据库命名规范
1.1约定u  数据库的schema,数据库对象如表、字段、索引、序列、存储过程等的命名约定;u  命名使用富有意义的大写英文词汇,尽量避免使用缩写,多个单词组成的,中间以下划线分割;u  各表之间相关字段列名,字段类型尽量一致;u  数值类型不使用varchar2,日期类型只用date,不允许使用varchar2;u  除数据库名称长度为1-8个字符,其余为1-30个字符,Databaselin...
Oracle数据库使用及命名规则的详解 (转)
  公司已建立的或待建立的网站,如:中文站(CHINA),国际站(ALIBABA),华商站(CHINESE)等。   OLPS     Online process system,在线处理系统,即我们的会员可以浏览的网站所连接的数据库,也是我们所说的前台。   BOPS     Back Office process system,后台处理系统,即我们的网站的发布系统。   BZO ...
ERP/Oracle 命名规范
每个应用模块均有唯一的对应简称,例如:总帐– GL,库存– INV。所有客户化的应用模块的简称均为在标准模块简称前面加一个”C”,例如:总帐客户化– CGL,库存客户化– CINV。应用产品简称描述CAP Payables CustomizationCAR Receivable CustomizationCFA Assets CustomizationCGL General Ledger CustomizationCINV Inventory CustomizationCPO
Oracle之表/视图名称大小写问题-yellowcong
Oracle是区分大小写的,建立表的时候,虽然我们的名称都是小写,但是都会被转化为大写的表,还有查询的时候,直接查询表,无论大小写,都是可以查询到数据,当把表名称作为查询的条件的情况(简单来说,就是表名称放在双引号的情况),是区分大小写的。
Oracle数据库建表 Oracle数据库的统一命名与编码规范
本文转载自:http://chinaxxren.iteye.com/blog/889590 如有疑问请咨询原博主,谢谢!! 写在前边:规范是一种习惯,在Oracle数据库中笔者认为表中的字段命名规范需要引起注意,当考虑使用SSM作为框架的时候,Mybatis 的逆向工程能够根据数据库表名和数据库名字段名自动生成pojo类,其中pojo类中的属性名称就是根据数据库字段名来进行命名的。 当然笔者建议例
Oracle中将一个表中的字段值复制到另一个表的字段中
  说明: 1、mw_app.mwt_ud_pd_sb_rh_yxwz表 中whbz 与mw_sys.mwt_pd_deps表 中的obj_id 关联 2、mw_app.mwt_ud_pd_sb_rh_yxwz表 中objid与mw_app.MWT_UD_PD_SB_RH_XL表中的obj_id关联 要实现的效果是:将mwt_pd_deps deps 中bmqc字段的值复制到MWT_UD_...
Oracle 将一张表中的数据插入到另一张新表
insert into mbt.TBL_MBT_AREA (AREACODE, AREANAME, FULLNAME, PARENTCODE, SERVICECODE, SERVICEID, REMARK, SORT, STATE)select AREACODE, AREANAM
oracle中通过某一列的值update另一列数据
update 表名 tb      set tb.isbase =( case GJ when '国基' then 1 else 2 end );
Oracle文件
关于Oracle服务命名的配置,解决常见的服务命名问题
转:oracle 子查询创建表,表的重命名,给表和列添加注释,显示当前用户所有表,复制已存在表结构到新表
原文链接:http://heisetoufa.iteye.com/blog/364422 通过子查询创建表 如果要创建一个同已有的表结构相同或部分相同的表,可以采用以下的语法: CREATE TABLE 表名(列名...) AS SQL查询语句; 该语法既可以复制表的结构,也可以复制表的内容,并可以为新表命名新的列名。新的列名在表名后的括号中给出,如果省略将采用原来表的列名
在oracle中怎么把一张表的数据插入到另一张表中
把table2表的数据插入到table1中 insert   into   table1   select   *   from   table2 
oracle insert 将一张表数据插入另外表中
将一张表的数据插入两外张表 以表B的数据插入表A, 表B有多少符合条件的数据, 表A就插入多少条数据 如表B符合条件有10条数据,表A也会添加10条数据 case 1 两张表的结构完全一样 insert into tableA select * from tableB case 2, 两张表的结构不一样,只获取表B中符合条件的一些列的数据 insert into t
Oracle中一个字段除以另外一个字段并且四舍五入
<br />round(decode(除数,0,0,被除数/除数*100),2)
Oracle中将一个表中某一字段的数据更新到另一个表中某一字段
首先想到的sql:update 表2 set 表2.c=(select val from 表2 where 表1.a=表2.a);但这样会出现在表1中有的行,如果在表2中没有对应的行,值被更新为null. 更改sql:UPDATE 表2 SET 表2.C = (SELECT B FROM 表1 WHERE 表1.A = 表2.A) WHERE EXISTS...
Oracle用一个表的一个字段值去更新另一张表的某个字段值
我是这么写的: UPDATE TABLE1 T1 SET T1.COL1= SUBSTR((SELECT TO_CHAR(T2.ENDTIME,'YYYYMMDD') FROM TABLE2 T2 WHERE T1.MAPCODE = T2.PROJECTID AND T2.MAPSHEETFLAG IS NULL),0,6) WHERE EXISTS (SELECT TO_CHAR(T2.E
oracle更改字段,表名和复制一列的数据
create table TestA (   NID      NUMBER not null,   FNAME    VARCHAR2(40),   PLACE    VARCHAR2(40),   PRICE    NUMBER,   a VARCHAR2(10) ) insert into TestA  values (1,'李达','北京',123,'你好');
SQL语句(表的创建,复制,重命名,截断,删除,以及闪回技术)
1.表的创建   格式 : CREATE  TABLE  表名称(      字段1     数据类型     [DEFAULT  默认值],      字段2     数据类型     [DEFAULT  默认值],      字段3     数据类型     [DEFAULT  默认值],                 ...............
[oracle] 触发器使用教程和命名规范
<br />触发器使用教程和命名规范   <br />  <br />  <br />目  录   <br />触发器使用教程和命名规范    1  <br />1,触发器简介 1  <br />2,触发器示例 2  <br />3,触发器语法和功能  3  <br />4,例一:行级触发器之一    4  <br />5,例二:行级触发器之二    4  <br />6,例三:INSTEAD OF触发器  6  <br />7,例四:语句级触发器之一   8  <br />8,例五:语句级触发器之二  
公司项目笔记oracle:将老表的某些字段插入到新表(序列的创建,触发器编写将主键设置为自增长)
首先,我要创建的新表叫ftp_account --1.新建一张FTP账户表: ftp_account字段包括 ID,        account_id,   account_name,    user_name,    user_pwd,     create_time NUMBER(22),VARCHAR2(32),  VARCHAR2(255), VARCHAR2(255), VARCHA...
Oracle备份工具、文件命名格式、rman操作
一、常用工具: Recovery Manager: rman只能执行热备(mount或open状态) Oracle Secure Backup 用户管理的备份: cp/dd [if= /of= /blocksize=]   二、rman命名    rman名称不允许重复,%U肯定不重复。    %c 备份片的拷贝数    %D 位于该月中的第几天 (DD)    %M 位于该年
【Oracle批量更新】根据一个大表批量更新另一大表的方法比较
【问题】现在有两个千万级别的结构相同数据不同数据表T_SMS_PHONENO(目的表),T_SMS_PHONENO2(源表),根据源表数据更新目的表的数据。【分析】根据经验,更新方法一般有以下几种:1、直接update。update T_SMS_PHONENO T Set    T.NAME=(select NAME from T_SMS_PHONENO2 where PHONENO=
oracle数据库对表和列重命名
重命名:rename 表,列重命名 对对象名 rename oldName to newName //insert_test2   test3 rename insert_test2 to test3 对列名: alter table tableName  rename column columnName  to newcolumnName //将insert_test2中na
Oracle 更新一张表中某个字段等于另一张表中的某个字段
merge into  a   using  b   on (a.XXX=b.XXX)   when matched then update set a.YYY=b.yyy;
oracle中重命名列名和表名
我们在创建表结构的过程中,可能会由于失误,造成表中列名错误,如何更改呢,你可能会回答,使用OEM或者PL/SQL,除了这两种方法,我们可以使用命令:     ALTER TABLE 表名 rename   column  列名 to 新列名     注意column是关键字   /*重命名列名*/     ALTER TABLE 表名 rename to  新表名   
Oracle 将表中两列的内容合并到另外一列当中去
这是原始表 执行:update test_a set d=a||c后 就是这么简单,努力吧!!!!
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 区块链问题 大数据专业教育的问题