Hola amigos,
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 originalSELECT 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