你的Zxrb 表里有jcode 列
J_Code 表里也有 jcode 列
当外面再套一层的时候 外面这层不知道你想取的是 Zxrb 表里的jcode 列还是J_Code 表里的jcode 列
就报未明确定义列了
解决方法:里面这层不能写* ,得写具体列名,如果有重的列名,可以给其中一个起个别名。
扩展资料:
sql语句是结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;
sql 语句就是对数据库进行操作的一种语言。
一、无明确定义列的原因是你的两个表里有同一样的列句,在显示结果时没指定是显示哪个表的列,多个表 或者构造 查询都包含有 相同的字段,你就不知道是查哪个表中的数据了。 比如 A表中 含有 C。
二、多个表 或者构造 查询都包含有 相同的字段,你就不知道是查哪个表中的数据了。比如 ?A表中 含有 ?C1,C2,C3 三个字段,B表中含有 C1,C2字段,SQL语句 :SELECT C1,C2 ,C3 FROM ?A, B,WHERE A.C1=B.C1的时候 ?数据库不知道 是从A取C1 还是从B 取 C1要加表名 前缀就好了。如:SELECT A.C1,A.C2 ,A.C3 FROM ?A, B。WHERE A.C1=B.C1
三、b.amount ? ? amount
from xps_budget xb
join bpm_xps_bgt_adjust_log b on xb.id =
b.src_budget_id
join xps_account_item xa on b.src_account_item_id =
xa.id
where to_char(to_date(xb.month, 'mm'),
'mm') =
to_char(sysdate, 'mm')
union
select b1.dst_org_id,
xb.channel,
x1.ai_code,
b1.amount adjAmount
from xps_budget xb
join bpm_xps_bgt_adjust_log b1 on xb.id =
有2个xb 表别名,所以报错
四,你得懂我说的什么了吧,好好理解一下。
扩展资料
结构化查询语言(Structured Query Language)简称SQL(发音:/?es kju? ?el/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
1986年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言(ANSI X3. 135-1986),1987年得到国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。
(参考资料 搜狗百科?结构化查询语言)
无明确定义列的原因是你的两个表里有同一样的列句,在显示结果时没指定是显示哪个表的列
你的zxrb 表里有jcode 列
j_code 表里也有 jcode 列
当外面再套一层的时候 外面这层不知道你想取的是 zxrb 表里的jcode 列还是j_code 表里的jcode 列
就报未明确定义列了
解决方法:里面这层不能写* ,得写具体列名,如果有重的列名,可以给其中一个起个别名
会不会是你要从几个表中查询某个字段,而你那几个表里都有你要查询的那个字段,数据库不知道你要查哪个表里面的字段?
我遇到过这样的问题。
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....