campos null al hacer un update desde un select
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?? |
Seguramente esto te sucede porq "l.precio" está NULL.
Cita:
Los campos nulos, los deja en 0 "COALESCE( campo,0)" el 0 se sustituye por nulo.
|
En cuanto a la respuesta de la consulta está en lo correcto lo que te entrega.
Ahora para que no asigne null a lo campo precio1 que se está actualizando, te sugiero una pequeña modificación al código proporcionado pór el compañero mRoman...
Saludos cordiales |
entonces es correcto lo que entrega
pense que si el campo c.codigo=l.codigo no coincidian me dejaria el campo c.precio1 con su valor original en lugar de cambiarmelo a null |
La franja horaria es GMT +2. Ahora son las 15:53:22. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi