SELECT a.ID, 
         a.I_STATUS, 
         a.D_TMP1, 
         (select  b.qty from  pte_co_item  b   where  b.id=a.ID  and  rownum<=1 )   N_TMP1 ,
          N_TMP1    -100  as  N_TMP2                    
FROM  TK_CPZYDZB  a 
结果查询出来,N_TMP2为空,而N_TMP1是有值的,请问如果再下一个列直接引用N_TMP1的值呢?
         

解决方案 »

  1.   

    我的意思是说:
    N_TMP2为空,而N_TMP1是有值的,请问如何在下一个列直接引用N_TMP1的值呢,就象N_TMP1    -100  as  N_TMP2一样,直接把N_TMP1    -100的值作为n_tmp2列的值
      

  2.   

    再套一层,这样做就可以了吧:
    SELECT ID, 
           I_STATUS, 
           D_TMP1,
           N_TMP1,
           N_TMP1 -100 as N_TMP2                    
    FROM 
       (SELECT a.ID, 
               a.I_STATUS, 
               a.D_TMP1, 
               (select  b.qty from  pte_co_item  b  where  b.id=a.ID  and  rownum <=1 )  N_TMP1
        FROM  TK_CPZYDZB a);
      

  3.   

    try it!~
    SELECT a.ID, a.i_status, a.d_tmp1, b.qty AS n_tmp1, b.qty - 100 AS n_tmp2
      FROM tk_cpzydzb a, pte_co_item b
     WHERE b.ID = a.ID AND ROWNUM <= 1;