在查询oracle数据库时如何加一个返回当前表名的字段?如下sql
select * from dbusrset.suppayhead  union select* from dbusrset.suppayhead@m01 union select * from dbusrset.suppayhead@m02我将三个表union起来这个没问题在数据库上可以运行,现在我想在每个表上加一个biao的字段来返回当前的表名 这是我加表名后的sql
select dbusrset.suppayhead .*,'dbusrset.suppayhead' biao from dbusrset.suppayhead  union select dbusrset.suppayhead@m01.*,'dbusrset.suppayhead@m01' biao from dbusrset.suppayhead@m01 union select dbusrset.suppayhead@m02.*,'dbusrset.suppayhead@m02' biao from dbusrset.suppayhead@m02但是运行报错,麻烦大哥们帮看看小弟万分感谢

解决方案 »

  1.   


    select dbusrset.suppayhead .*,'dbusrset.suppayhead' biao from 
    dbusrset.suppayhead 
    union 
    select dbusrset.suppayhead@m01.*,'dbusrset.suppayhead@m01' biao from         dbusrset.suppayhead@m01 
    union 
    select dbusrset.suppayhead@m02.*,'dbusrset.suppayhead@m02' biao from dbusrset.suppayhead@m02
    --三个表的名字都不一样 用union all 吧 select dbusrset.suppayhead .*,'dbusrset.suppayhead' biao from 
    dbusrset.suppayhead 
    union all
    select dbusrset.suppayhead@m01.*,'dbusrset.suppayhead@m01' biao from         dbusrset.suppayhead@m01 
    union all
    select dbusrset.suppayhead@m02.*,'dbusrset.suppayhead@m02' biao from dbusrset.suppayhead@m02
      

  2.   

    to lixinbill
    不行呀
    select dbusrset.suppayhead .*,'dbusrset.suppayhead' biao from dbusrset.suppayhead union select dbusrset.suppayhead@(错误光标停留在这里)m01.*,'dbusrset.suppayhead@m01' biao from dbusrset.suppayhead@m01 union select dbusrset.suppayhead@m02.*,'dbusrset.suppayhead@m02' biao from dbusrset.suppayhead@m02是不是表名不能有@符号呀,但我直接select * from ppayhead@m01 又没问题 麻烦各位帮看看,万分感谢
      

  3.   

    麻烦大哥们帮看看呀我单独执行
    select dbusrset.suppayhead@(错误光标停留在这里)m01.*,'dbusrset.suppayhead@m01' biao from dbusrset.suppayhead@m01 都不行呀,难道表名里有@符号就不能虚拟一个字段名吗?麻烦各位大哥帮看看
      

  4.   

    猛一看,还以为你用了DBLINK呢,原来不是啊,这个情况没有碰见过,可以验证一下