realx,站点的数量不固定,用decode不行呀.

解决方案 »

  1.   

    DECLARE SQL VARCHAR2(8000)
    SQL:='SELECT NAME,'
    SELECT SQL||'SUM((CASE FCLASS WHEN '''||FCLASS||'''THEN FVALUE   ELSE  0 END )) AS '''||FCLASS||
    ''','INTO SQL FROM  ( SELECT DISTINCT CLASS AS FCLASS FROM TB2  ) A;
    SQL:=LEFT(@SQL,LEN(@SQL)-1)||' FROM (SELECT DISTINCT NAME,[VALUES] AS FVALUE,CLASS AS FCLASS  FROM TB2) A GROUP BY NAME';
    利用SELECT的值產生的一個動態查詢語句,動態執行郰可
      

  2.   

    lcg412(程序人生) 写的很明白了