2017-08-18 11 views
0
DECLARE 
     pop character varying; 
    BEGIN 
     EXECUTE 'SELECT CASE(select EXISTS(select count(case_reported) from qwe where week = '' weekk '' and code = '' codee '' and case_type= '' case_type '' HAVING count(case_reported) > 0)) 
     WHEN TRUE 
       THEN (select CASE(count(case_reported)) 
         WHEN 1 
          THEN 
           (select CASE(case_reported) 
             WHEN 1 
              THEN 1::varchar 
             WHEN 0 
              THEN ''zr''::varchar 
             END 
           from qwe where week = '' weekk '' and code = '' codee '' and case_type= '' case_type '') 
          ELSE 
           count(case_reported)::TEXT 
         END 
        from qwe where week = '' weekk '' and code = '' codee '' and case_type= '' case_type '')  
       ELSE 0 END' into pop; 
    RETURN pop; 
    END; 

エラー:CASE型の整数とテキストは一致しません。 整数型とテキスト型は一致しません。Postgres

pop,week,code

は、文字型は様々であり、 case_typeは、テキストのこれは私のエラーを解決し

答えて

0
DECLARE 
     pop character varying; 
    BEGIN 
     EXECUTE 'SELECT CASE(select EXISTS(select count(case_reported) from qwe where week = '' weekk '' and code = '' codee '' and case_type= '' case_type '' HAVING count(case_reported) > 0)) 
     WHEN TRUE 
       THEN (select CASE(count(case_reported)) 
         WHEN 1 
          THEN 
           (select CASE(case_reported) 
             WHEN 1 
              THEN 1::TEXT 
             WHEN 0 
              THEN ''zr''::TEXt 
             END 
           from qwe where week = '' weekk '' and code = '' codee '' and case_type= '' case_type '') 
          ELSE 
           count(case_reported)::TEXT 
         END 
        from qwe where week = '' weekk '' and code = '' codee '' and case_type= '' case_type '')  
       ELSE 0::TEXT END' into pop; 
    RETURN pop; 
    END; 

ある

関連する問題