精华内容
下载资源
问答
  • sql报未明确定义列

    千次阅读 2018-08-13 15:42:47
    排序字段存在多个表中,排序时不知道根据哪个表中的该字段排序, 在排序时字段最好加上表名。

    排序字段存在多个表中,排序时不知道根据哪个表中的该字段排序,

    在排序时字段最好加上表名。

    展开全文
  • oracle ORA-00918 未明确定义列

    万次阅读 2018-07-20 14:24:13
    出现这种错误,一般是列名重复导致的,如下:   create table testchar( v_date varchar2(20), d_date date ) insert into testchar select '2018-07-20', date'2018-07-20' from dual;...# 这时候有两个字段都是vv...

      出现这种错误,一般是列名重复导致的,如下:

     

    create table testchar(
     v_date varchar2(20),
     d_date date
    )
    
    insert into testchar select '2018-07-20', date'2018-07-20' from dual;
    
    
    # 这时候有两个字段都是vv, 那么查询时,就会区分不出来这两列,oracle就会报ORA-00918
    select * from (select v_date as vv, d_date as vv from testchar);

     

    展开全文
  • ORA-00918:未明确定义列,在mybatis中

    千次阅读 2018-01-03 10:37:52
    问题:ORA-00918:未明确定义列 eg. select name, name from a left join b on a.flag = b.flag 原因:列名重复了(select后面跟了两个 name) 解决办法: 每个列名,都加上其所在表的表名作为前缀

          今天遇到个问题,想了半天想不出原因,查阅网上的资料都说是没有指定明确的列:首先看个简单点的例子:

     

    问题:ORA-00918:未明确定义列

    eg. 

    select  name,  name  from a  left  join b  on a.flag = b.flag

    原因:列名重复了(select后面跟了两个 name)

    解决办法:

    每个列名,都加上其所在表的表名作为前缀

    eg.

    select   a.name,  b.name  from a left  join b  on a.flag = b.flag:这里一定要注意,前面一定要加上是那个表里面的字段的列。不然报错。

    再来看看我的项目里面得代码,首先是错误的语句:

     <include refid="OracleDialectPrefix" />
        select
        <if test="distinct">
          distinct
        </if>
        <include refid="Base_Column_List" />,
        sd.ITEM_NAME AS deviceTypeName
        from CFG_DEVICE cd
        left join SYS_DICTIONARY sd on sd.CATEGORY_CODE='DEVICETYPE' and sd.ITEM_VALUE = cd.DEVICETYPE
        <if test="orderByClause != null">
          order by ${orderByClause}
        </if>
        <include refid="OracleDialectSuffix" /> <include refid="Base_Column_List" />,
        sd.ITEM_NAME AS deviceTypeName
        from CFG_DEVICE cd
        left join SYS_DICTIONARY sd on sd.CATEGORY_CODE='DEVICETYPE' and sd.ITEM_VALUE = cd.DEVICETYPE
        <if test="orderByClause != null">
          order by ${orderByClause}
        </if>
        <include refid="OracleDialectSuffix" />

    改正之后的语句:

     

     <include refid="OracleDialectPrefix" />
        select
        <if test="distinct">
          distinct
        </if>
        cd.<include refid="Base_Column_List" />,
        sd.ITEM_NAME AS deviceTypeName
        from CFG_DEVICE cd
        left join SYS_DICTIONARY sd on sd.CATEGORY_CODE='DEVICETYPE' and sd.ITEM_VALUE = cd.DEVICETYPE
        <if test="orderByClause != null">
          order by ${orderByClause}
        </if>
        <include refid="OracleDialectSuffix" />cd.<include refid="Base_Column_List" />,
        sd.ITEM_NAME AS deviceTypeName
        from CFG_DEVICE cd
        left join SYS_DICTIONARY sd on sd.CATEGORY_CODE='DEVICETYPE' and sd.ITEM_VALUE = cd.DEVICETYPE
        <if test="orderByClause != null">
          order by ${orderByClause}
        </if>
        <include refid="OracleDialectSuffix" />

    错误原因:在mybatis里面查询的时候

    <span style="color:#ff0000"><include refid="Base_Column_List" />
    </span>

    这句我虽然是查询全部的,但是没有指定是哪个表里面的,所以报错,改正后

    <span style="color:#ff0000">cd.<include refid="Base_Column_List" /></span>

    指定了是哪个表里面的就可以了。

    <span style="color:#ff0000">sd.ITEM_NAME AS deviceTypeName</span>
    这句是指定另一个表里面的字段。
    
    展开全文
  • Oracle 未明确定义列的错误

    千次阅读 2015-12-02 14:06:40
    SQL基础:ORA-00918:未明确定义列的错误。  当前遇到有两种情况。原因为:当查询语句中,查询的表(数据集)中有相同的字段名,查询字段无法确认是改查那个字段  时,就会报未明确定义列的错误。  第一种...
    运行环境:Oracle10g sqlplus环境下。 
    在查询语句中,经常会出现一个错误: 
    SQL基础:ORA-00918:未明确定义列的错误。 

    当前遇到有两种情况。原因为:当查询语句中,查询的表(数据集)中有相同的字段名,查询字段无法确认是改查那个字段 
    时,就会报未明确定义列的错误。 

    第一种情况: 
    1.单表时: 
    比如fconsign表中存在三个字段:fcsg_consign_id,fcsg_consign_type,fcsg_consign_status 
    SELECT FCSG_CONSIGN_ID FROM (SELECT FCSG_CONSIGN_ID,FCSG_CONSIGN_TYPE,FC.* FROM FCONSIGN FC) T
    这个SQL语句就会报错,因为在T中FCSG_CONSIGN_ID有两个字段,导致DBMS无法确定要查询的哪个列 
    SELECT FCSG_CONSIGN_STATUS FROM (SELECT FCSG_CONSIGN_ID,FCSG_CONSIGN_TYPE,FC.* FROM FCONSIGN FC) T 
    这样就不会报错了,T中FCSG_CONSIGN_STATUS只有一个,这样就不会报错了。 

    总而言之:在嵌套查询中,外查询的字段在子查询中只能出现一个,否则则无法确定是要查哪个字段。就会报 未明确定义列的错误。 

    2.多表联合查询 
    比如表A,B中都有a字段。 

    select a from A,B 这样就要报错。因为也是无法确定查 哪一列。需要明确定义A.a或者B.a (如果在from语句后面为表取了别名,比如 

    select s_no,s_name,s_score,s.class_no,class_name from student s join class c on (s.class_no = c.class_no)的时候, 则 select语句中那个被多张表都拥有的相同字段名也需要用别名标识 如:s.class_no.)


    转载自:http://blog.csdn.net/wxdsdtc831/article/details/7432774

    展开全文
  • SQL未明确定义列错误

    2020-11-10 14:24:11
    当数据库根据字段名无法确定具体哪一时,就会报未明确定义列的错误。 如表中有相同的字段,然后要查询此表的重复的某一字段就会报未明确定义列的错误。 有时候,一个sql语句没错,但根据sql语句执行的子表查询,...
  • oracle未明确定义列

    万次阅读 2013-02-05 15:55:23
    分类: SQL 使用技巧 2012-04-06 16:12 1332人阅读 评论(0) 收藏 ...SQL基础:ORA-00918:未明确定义列的错误。  当前遇到有两种情况。原因为:当查询语句中,查询的表(数据集)中有相同的字
  • 嵌套循环中要求每一都有唯一的列名**,特别注意:空字符串一定要起别名,不然会被当做是相同明处理.** 错误示范: 正确示范:
  • ORA-00918: 未明确定义列

    千次阅读 2020-04-27 11:14:11
    Cause: java.sql.SQLSyntaxErrorException: ORA-00918: 未明确定义列 ; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00918: 未明确定义列 ] with root cause java.sql....
  • mybatis分页未明确定义列

    千次阅读 2020-05-01 18:23:42
    问题出现原因是集成mybaits时会自动加上 select tmp_page.*, rownum row_id from ( ...出现这个问题的原因是查询语句的有重复的,直接查询是看不出来原因的, 把重复的列名找出来然后修改 ...
  • ORACLE 查询字表未明确定义列

    千次阅读 2017-10-30 16:56:18
    SQL基础:ORA-00918:未明确定义列的错误。  当前遇到有两种情况。原因为:当查询语句中,查询的表(数据集)中有相同的字段名,查询字段无法确认是改查那个字段  时,就会报未明确定义列的错误。  第一种...
  • mybatis未明确定义列

    千次阅读 2016-03-11 17:08:32
    select * from (这里能正确执行) tmp_tb where ROWNUM=1  数据库中的语句能正确执行, 但是自动生成的语句mybatis不认识了 这是因为“能正确执行的语句”中有空格 数据库认识,mybatis不认识了 ...
  • 数据库查询 报错 *****ORA-00918: 未明确定义列;显然数据库不知道你写的是指谁的。一般单表查询不会出现这种错误,在多表联合查询的时候,在where 设定查询条件的地方,列名1=参数1。因为列名1没有明确的说明,...
  • Oracle数据库表连接查询并分页SQL语句提示未明确定义列 两张表中的字段: t_product t_category product_id category_id product_name category_name price description account category_id ...
  • oracle 报未明确定义列

    千次阅读 2017-04-11 11:10:00
    报这个错误的原因在于选出的结果集中包含相同的字段,数据库不知道应该以哪个字段为准。 select U.* from (select q.jslongitude_gps as **gpslatitude**,q.jslatitude_gps as **gpslatitude**,q.jslongitude_amap ...
  • 项目数据库报错:未明确定义列

    千次阅读 2018-06-05 15:59:14
    数据库查询时,两张表中出现相同字段,需要给其中一个重命名
  • 数据库用的是Oracle,Mybatis自动封装的分页,sql语句在PLSQL中执行没有问题,放在代码里面运行的时候就报错:未明确定义列。 通过log打印的sql语句拷出来执行,发现嵌套上分页就会报错。 问题原因:sql...
  • 未明确定义列 我各个博客上找解决方法可还是找不到 转载:这里是我找到了一个很详细的联表查询的例子 https://blog.csdn.net/weixin_43888267/article/details/84894441 但还是报了校内共同的错误 可能大佬们...
  • 填坑时候发现的,调用mybatis的分页,报错:未明确定义列 sql复制出来完全可以,但在框架里就报错。 以为是有遗漏哪个没起别名,但是给每个都起了别名后,还是报这个错。 因为实体类是别人写的,有两个属性都...
  • select * from (select temp.*, rownum row_id from (select l.*, M.mcol1, R.rcol1, R.rcol2, B.col1, B1.col1 --这里需要取与B同一个字段的值但是... 执行后提示temp未明确定义 怎么回事
  • java.sql.SQLSyntaxErrorException: ORA-00918: 未明确定义列 问题的根源是 SQL查询出来有两个或者多个相同的,oracle mybatis 不知道要怎么映射,所以就报这个异常。。。 逻辑要清晰,代码要明确哦!
  • Oracle查询提示:未明确定义列

    千次阅读 2016-01-26 11:07:38
    在调试Oracle一个查询语句时出现:未明确定义列在这种情况下有可能存在的问题不是字段重命名的问题,而是在查询的中有重复的。例如:select A.*,rownum mynum from ( select ID,NAME,AGE,SEX,ADDR,TEL,AGE from ...
  • ORA-00918:未明确定义列解决

    千次阅读 2017-01-06 18:07:00
    ORA-00918:未明确定义列解决 问题:ORA-00918:未明确定义列 eg. select name, name from a left join b on a.flag = b.flag 原因:列名重复了(select后面跟了两个 name) 解决办法: 每个列名,都加上其所在表...
  • MyBaties异常之 ORA-00918: 未明确定义列 原因: 如果a表与b表连接,且a与b中存在两个相同的字段,则必须指明字段是哪个表的 箭头所致位置没有指定ROOM_ID为那个表的,应修改为t1.ROOM_ID ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 84,588
精华内容 33,835
关键字:

未明确的列定义