Transformation rules applied to the ETL staging area.
SQL
( SELECT CASE WHEN CONTO.TIPO_CONVERSIONE='1' THEN ( CONVERT(NUMERIC(27, 9), CAMPO13) / CAMBIO1.CAMBIO_FINALE) * CAMBIO2.CAMBIO_FINALE WHEN CONTO.TIPO_CONVERSIONE='2' THEN ( CONVERT(NUMERIC(27, 9), CAMPO13) / CAMBIO1.CAMBIO_MEDIO) * CAMBIO2.CAMBIO_MEDIO WHEN CONTO.TIPO_CONVERSIONE='3' THEN ( CONVERT(NUMERIC(27, 9), CAMPO13) / CAMBIO1.CAMBIO_FINALE) * CAMBIO2.CAMBIO_FINALE WHEN CONTO.TIPO_CONVERSIONE='4' THEN ( CONVERT(NUMERIC(27, 9), CAMPO13) / CAMBIO1.CAMBIO_MEDIO) * CAMBIO2.CAMBIO_MEDIO WHEN CONTO.TIPO_CONVERSIONE='5' THEN ( CONVERT(NUMERIC(27, 9), CAMPO13) / CAMBIO1.CAMBIO_FINALE) * CAMBIO2.CAMBIO_FINALE ELSE CONVERT(NUMERIC(27, 9), CAMPO13) / 1.0 END * VALUTA1.COEFFICIENTE_RIF / VALUTA2.COEFFICIENTE_RIF FROM CONTO, VALUTA VALUTA1, VALUTA VALUTA2, DATI_CAMBIO CAMBIO1, DATI_CAMBIO CAMBIO2 WHERE CONTO.COD_CONTO = CAMPO4 AND VALUTA1.COD_VALUTA = CAMPO12 AND VALUTA2.COD_VALUTA = CAMPO11 AND CAMBIO1.COD_SCENARIO = CAMPO1 AND CAMBIO1.COD_PERIODO = CAMPO2 AND CAMBIO1.COD_VALUTA = ( CASE WHEN VALUTA1.COD_VALUTA_RIF IS NULL THEN VALUTA1.COD_VALUTA ELSE VALUTA1.COD_VALUTA_RIF END) AND CAMBIO2.COD_SCENARIO = CAMPO1 AND CAMBIO2.COD_PERIODO = CAMPO2 AND CAMBIO2.COD_VALUTA = ( CASE WHEN VALUTA2.COD_VALUTA_RIF IS NULL THEN VALUTA2.COD_VALUTA ELSE VALUTA2.COD_VALUTA_RIF END) )