bom, traduzindo pra portugues claro… eu tenho uma consulta em sql nativo que eu precisaria faze-la utilizando o criteria.A minha pergunta é ;…isso é possível??se for, como eu faço ,por exemplo um Case em um campo utilizando o criteria?? alguem tem algum tutorial de criteira ??. Segue a consulta abaixo.
strsql = “SELECT a.DT,”
+ “a.COD_CONTA,”
+ “a.FORNECEDOR CNPJ_FORNEC,”
+ “a.ORCADO,”
+ “a.GASTO,”
+ “a.CT_CUSTO,”
+ “a.EMPRESA,”
+ “TBRJ_CAD_CT_CUSTO.NM_CT_CUSTO,”
+ “TBRJ_CAD_CT_CUSTO.EMPRESA,”
+ “TBRJ_CAD_CT_CUSTO.FILIAL,”
+ “TBRJ_CAD_CONTAS.CONTA,”
+ "IFNULL(TBRJ_CAD_FORNECEDOR.FORNECEDOR,TBRJ_CAD_FORNECEDOR.CNPJ_FORNEC) FORNECEDOR "
+ “FROM (SELECT DT,”
+ “COD_CONTA,”
+ “FORNECEDOR,”
+ “VALOR ORCADO,0 GASTO,”
+ “CT_CUSTO,”
+ "EMPRESA "
+ "FROM TBRJ_ORC_PROJETADO "
+ “UNION ALL SELECT DT,”
+ “COD_CONTA,”
+ “CNPJ_FORNEC,”
+ “0,(CASE WHEN TP_LANC =‘C’ THEN VALOR ELSE -VALOR END) GASTO,”
+ “CENTRO_CUSTO,”
+ "COD_EMPRESA "
+ "FROM TBRJ_DESPESAS ) a "
+ "INNER JOIN TBRJ_CAD_CONTAS ON a.COD_CONTA = TBRJ_CAD_CONTAS.COD_CONTA "
+ "LEFT JOIN TBRJ_CAD_CT_CUSTO ON a.CT_CUSTO = TBRJ_CAD_CT_CUSTO.CT_CUSTO "
+ "LEFT JOIN TBRJ_CAD_FORNECEDOR ON a.FORNECEDOR = TBRJ_CAD_FORNECEDOR.CNPJ_FORNEC "
+ "WHERE a.CT_CUSTO LIKE ‘8%’ AND EXTRACT(YEAR_MONTH FROM DT)=:mes "
+ "ORDER BY DT DESC ";