Ver Mensaje Individual
  #2  
Antiguo 05-06-2020
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Reputación: 21
mRoman Va por buen camino
Seguramente esto te sucede porq "l.precio" está NULL.

Cita:
Empezado por gmontes Ver Mensaje
tengo la version firebird 2.1

al hacer un update en ibexpert

update cinve c set c.precio1 = (select l.precio from tlista_precios l where c.codigo=l.codigo and l.lista=1)

los campos en que no coincide c.codigo=l.codigo me los pone en null y se pierde el valor

es decir
tabla cinve

codigo/ precio1
102 10
103 0
104 20


tabla tlista_precios
codigo/ precio/ lista
103 50 1


despues del update la tabla cinve queda

codigo/ precio1
102 null
103 50
104 null

que estoy haciendo mal??
Para estos casos usa COALESCE

Código SQL [-]
SELECT COALESCE(MAX( s.sal_consec ),0)
                FROM salida s
              WHERE s.almacen_id=:v_alm_origen
                AND s.articulo_id=:v_art_id

Los campos nulos, los deja en 0 "COALESCE( campo,0)" el 0 se sustituye por nulo.

Código SQL [-]
update cinve c set c.precio1 = (select COALESCE(l.precio,0) from tlista_precios l where c.codigo=l.codigo and l.lista=1)
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!

Última edición por mRoman fecha: 05-06-2020 a las 19:32:11.
Responder Con Cita