Espero que todos estén bien.
Tengo un problema para llenar una tabla para la cual ocupo el query de abajo, pero el resultado debe mostrar hasta 10 decimales y solo me muestra 6 y me pierden los demas digitos, apesar q el tipo de dato es al crear la tabla le puse decimal(20,10), aparte que le hago un round([variable],10).... no se que mas hacer!!!!.
Ya revisé toda la documentación de sql en linea y no encuentro nada que me de la solución.... si alguien la tiene, por favor, ayudame!!!! Hoy por mi, mañana por todos. Namaste.
El query es el siguiente:
Código SQL:
Ver original
SELECT tiempo.max_fecha, precios.id_categoria, dim_cate.id_linea, precios.precio, costos.costo_total, CASE WHEN (costos.costo_total IS NULL OR costos.costo_total=0) THEN 0 ELSE (round(precios.precio,10)/round(costos.costo_total,10)) END AS fact_util_fijo, ctrl.cve_usuario, getdate() AS fecha_act FROM H_LISTA_PRECIOS_GRUPO_VIGENCIA precios, CAT_CONCEPTO_LISTA_PRECIOS_GRUPO cat, (SELECT MIN(fecha) min_fecha, MAX(fecha) max_fecha FROM DIM_TIEMPO WHERE mes ='201103' ) tiempo, (SELECT pre.id_categoria, MIN(cat.prioridad) AS min_prio FROM H_LISTA_PRECIOS_GRUPO_VIGENCIA pre, CAT_CONCEPTO_LISTA_PRECIOS_GRUPO cat WHERE pre.id_lista_precios = cat.id_lista_precios AND cat.tipo_precio='CONCESIONARIO' GROUP BY pre.id_categoria )min_prioridad, (SELECT costos.id_categoria, round(costos.costo_total,10) AS costo_total FROM H_COSTOS_RFU_GRUPO costos, (SELECT hcrg.id_categoria, MAX(periodo) AS periodo FROM H_COSTOS_RFU_GRUPO hcrg WHERE periodo = '201103' GROUP BY hcrg.id_categoria ) maximo WHERE maximo.id_categoria = costos.id_categoria AND maximo.periodo = costos.periodo ) costos, DIM_CATEGORIAS dim_cate, RENT_CONTROL_PROCESOS ctrl WHERE precios.id_lista_precios = cat.id_lista_precios AND cat.tipo_precio='CONCESIONARIO' AND dim_cate.id_categoria = precios.id_categoria AND precios.id_categoria = min_prioridad.id_categoria AND precios.id_categoria = costos.id_categoria AND precios.clave_moneda = 'MXN' AND cat.prioridad=min_prioridad.min_prio AND precios.fecha_ini_vigencia <= tiempo.max_fecha AND precios.fecha_fin_vigencia IS NULL AND ctrl.proceso ='FACTOR_UTILIDAD_GRUPO' AND ctrl.tipo_carga ='SQL' AND ctrl.activo = 1 ORDER BY precios.id_categoria
Un fragmento del resultado que me da el query, para que se entienda mejor, es:
id_categoria
3183
precio
3802.1400
costo_total
3573.74
fact_util_fijo
1.063910
El mismo fragmento de la tabla ya que se llena con el query de arriba, es:
ID_CATE
3183
PRECIO
3802.1400
COSTO_TOTAL
3573.74
FACT_UT_FIJO
1.0639100000
Cuando el resultado debe ser:
ID_CATE
3183
PRECIO
3802.1400
COSTO_TOTAL
3573.74
FACT_UT_FIJO
1.0639106370
Muchisimas Gracias por su ayuda.
Marsh_Spider