我调试 select * from (select * from chem.db) a 不通过,这句在oracle是可以的。后来发现select * from chem.db where element in (select * from chem.db)可以通过。
我想,是不是因为 (select * from chem.db) a 不可以做为一个表名?因为他们的表名要为*.db小弟谢谢您了。。

解决方案 »

  1.   

    不好意思,修改一下
    select * from chem.db where element in (select * from chem.db)
    -->
    select * from chem.db where element in (select element from chem.db)
      

  2.   

    select a.* from (select * from chem.db) as a
      

  3.   

    w1w2w3w4(牛茫大昏)      我试了,不行啊。。
      

  4.   

    select * from chem.db where element in (select element from chem.db)这个SQL语句按理来说一定是能够通过的,因为它是标准的SQL语句的写法
    不过呢chem.db这是哪里的写法呀?在ORACLE中没有这样定义表名的呀?
    你用的是什么数据库呀?怎么会有这样的数据库名?莫非是INTERBASE或是什么的?
      

  5.   

    select * from chem.db where element in (select element from chem.db)
      

  6.   

    select * from chem.db where element in (select element from chem.db)
      

  7.   

    select a.* from (select //这里要写字段名 from chem.db) as a
      

  8.   

    Drate(小虫) 
        我用的是delphi自带的啊database,好象是paradox的,所以后面都带.dbdelphi_xizhousheng(西周生) 
        我试了,没用,这里和字段名有关系???
      

  9.   

    Drate(小虫) 
       不好意思,我的写法让你误解了,我的意思是
      select * from (select * from table_name) 这语法,在oracle可以执行正确
      select * from (select * from chem.db)    在database里面不正确。
      为什么?
      

  10.   

    呵呵,谁让ORACLE的数据库就是牛呢?
    PARADOX我没有用过,所以呢,我不好说问题出在哪里了
    但是我想,你把你的SQL语句中的列名,表名,全部用[]括起来看一看,会不会是列名无法识别的原因呢。。