Duda actualización

20/07/2007 - 16:03 por Eclat | Informe spam
Muy buenas de nuevo, tengo una duda. Necesito actualizar una tabla de
vencimientos a partir de un valor que hay en una tabla de entidades.
Pero la entidad no se guarda en el vencimiento, sino en la factura que
genera el vencimiento.

Entidad(id, nombre, flag)
Factura(tipo_factura, serie, numero, id_entidad)
Vencimiento(tipo_factura, serie, numero, nvencimiento, flag)

Tipo factura es C o V, según sea de Compras o de Ventas, y solo necesito
actualizar los de venta. Cual sería la mejor forma de hacer esta
actualización. Uso SQL Server 2005.

Salu2 y gracias,

Preguntas similare

Leer las respuestas

#6 Eclat
20/07/2007 - 17:08 | Informe spam
Clavado a mi post anterior, muchísimas gracias por la confirmación.

Salu2

principiante escribió:
Debería ser algo parecido a esto:

Update Vencimiento
set flag=Entidad.flag
from Vencimiento
inner join Factura on
Vencimiento.tipo_factura=Factura.tipo_factura and
Vencimiento.serie=Factura.serie and Vencimiento.numero=Factura.numero
inner join Entidad on Entidad.id=Factura.id_entidad
where Vencimiento.tipo_factura='V'

Asumí que el camo a actualizar es flag.

Jose TH


"Eclat" escribió en el
mensaje news:
Muy buenas de nuevo, tengo una duda. Necesito actualizar una tabla de
vencimientos a partir de un valor que hay en una tabla de entidades. Pero
la entidad no se guarda en el vencimiento, sino en la factura que genera
el vencimiento.

Entidad(id, nombre, flag)
Factura(tipo_factura, serie, numero, id_entidad)
Vencimiento(tipo_factura, serie, numero, nvencimiento, flag)

Tipo factura es C o V, según sea de Compras o de Ventas, y solo necesito
actualizar los de venta. Cual sería la mejor forma de hacer esta
actualización. Uso SQL Server 2005.

Salu2 y gracias,




Respuesta Responder a este mensaje
#7 Eclat
20/07/2007 - 17:13 | Informe spam
No creo que haya problema en este caso, es decir, todos los
vencimientos siempre deben venir de una factura, así que en este caso
creo que el resultado sería el mismo con el LEFT JOIN que con el INNER
JOIN, aunque conceptualmente creo que sería más correcto el tuyo.


principiante escribió:
Yo la veo bien.
Salvo el Left join, es la misma que yo di en mi otro mensaje. Solo que debes
contemplar el caso en que haya NULL's si usas LEFT Join en vez de INNER
Join.


Jose TH



"Eclat" escribió en el
mensaje news:
¿Sería correcta la siguiente instrucción?

update vencimiento
set flag=e.flag
from vencimiento v
left join facturas f on (v.Tipo_Factura=f.Tipo_Factura and v.serie=f.serie
and v.numero=f.numero)
left join entidades e on (f.id_entidad=e.id)
where v.Tipo_Factura='V'

Gracias,

Maxi escribió:
Edat, revisa en tus libros on line la sentencia UPDATE, tambien por favor
revisa en tus libros online acerca de consultas SQL y combinaciones JOIN







email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida