1、可以啊
   select '111' 进额 from dual;2、参考
[Q]如何实现行列转换
[A]1、固定列数的行列转换

student subject grade
---------------------------
student1 语文 80
student1 数学 70
student1 英语 60
student2 语文 90
student2 数学 80
student2 英语 100
……
转换为 
语文 数学 英语
student1 80 70 60
student2 90 80 100
……
语句如下:
select student,sum(decode(subject,'语文', grade,null)) "语文",
sum(decode(subject,'数学', grade,null)) "数学",
sum(decode(subject,'英语', grade,null)) "英语"
from table
group by student

解决方案 »

  1.   

    楼上的仁兄,谢谢,不过我想要的是动态SQL,另外select '111' 进额  ----------------------这个是没有from 表名的        ,能行吗
      

  2.   

    dual就是一张实实在在的表
    动态SQL这样执行
    execute immediate('SELECT * FROM DUAL')
      

  3.   

    dual可以认为是在任何oracle数据库中都存在的表,一般用来无需从自己设计的表中检索常量。
    SQL Server的      select '111' 进额
    在oracle中相等同的语句的语法就是:select '111' 进额  from dual;
      

  4.   

    oracle的sql中where的部分经常是不能直接引用 as 部分的标识
    有个办法,构造一个集合做表,like:
    table_A:
    col_1,col_2,col_3....
    -----------
    select col_1 as ssss from table_A where ssss = ''...............
    -----------可能会说你的ssss没标识,找不到这个字段
    这样写就可以通过了(sql效率可能会有差别)
    select * from (select col_1 as ssss ,table_A.* from table_aA)
    where ssss=''.............
      

  5.   

    注意在oracle中,中文别名要加双引号。特别是oracle 9i以上版
    如:
    select '111' as "金额" from dual;
      

  6.   

    yearlist(泥巴) ,我用的是9i
    SQL> select 1 as 阿 from dual;
            阿
    ----------
             1
    SQL> select '1' as 阿 from dual;-
    1
    SQL> select '1' "阿" from dual;-
    1
      

  7.   

    SQL> select '111' "阿" from dual;

    ---
    111
    SQL> select '111' 阿 from dual;

    ---
    111
      

  8.   

    楼主还有什么问题啊?ATGC的不行吗?
    第三个问题楼主想得到什么?你写这段代码的目的是什么?