Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-08-2015
kcaARLOosz kcaARLOosz is offline
Registrado
NULL
 
Registrado: ago 2015
Posts: 9
Poder: 0
kcaARLOosz Va por buen camino
Question Update con Join

Tengo esta consulta:

Código SQL [-]
select
    cf.pventa,
    cf.serie,
    cf.folio,
    cf.indice,
    cf.total
from
    drybcuenf cf
join
    drybcuen c
        on cf.pventa = c.pventa
        and cf.serie = c.serie
        and cf.folio = c.folio
where
    c.suma = 0 and
    c.horacierra is null

En vez de que me devuelva los registros, quiero hacerles un Update en el campo cf.total = 0

Última edición por kcaARLOosz fecha: 15-08-2015 a las 19:37:05. Razón: código sin formato de código
Responder Con Cita
  #2  
Antiguo 15-08-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
kcaARLOosz,

¡Bienvenido al Club Delphi!

Nelson.
Responder Con Cita
  #3  
Antiguo 15-08-2015
kcaARLOosz kcaARLOosz is offline
Registrado
NULL
 
Registrado: ago 2015
Posts: 9
Poder: 0
kcaARLOosz Va por buen camino
Hola!

Mucho gusto!
Responder Con Cita
  #4  
Antiguo 15-08-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Qué problema tienes?
Responder Con Cita
  #5  
Antiguo 15-08-2015
kcaARLOosz kcaARLOosz is offline
Registrado
NULL
 
Registrado: ago 2015
Posts: 9
Poder: 0
kcaARLOosz Va por buen camino
Quiero saber si hay una forma de hacer un update con ese inner join en una misma sentencia para que me actualice cf.total = 0
Responder Con Cita
  #6  
Antiguo 15-08-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Sigue sin entenderse lo que quieres.
¿Para qué quieres hacer ese select para hacer un update?
Código SQL [-]
update drybcuenf set total=? where ........
Responder Con Cita
  #7  
Antiguo 15-08-2015
kcaARLOosz kcaARLOosz is offline
Registrado
NULL
 
Registrado: ago 2015
Posts: 9
Poder: 0
kcaARLOosz Va por buen camino
Necesito hacer un update en el campo total de la tabla drybcuenf a los registros que cumplan con la condición where suma = 0 and horacierra is null de la tabla drybcuen
Responder Con Cita
  #8  
Antiguo 15-08-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Ya entendí.
¿Cuál es la estructura de ambas tablas y los campos que las relacionan?
Responder Con Cita
  #9  
Antiguo 15-08-2015
kcaARLOosz kcaARLOosz is offline
Registrado
NULL
 
Registrado: ago 2015
Posts: 9
Poder: 0
kcaARLOosz Va por buen camino
La consulta que te muestro me devuelve los registros a los que les quiero hacer el update en el campo total de la tabla drybcuenf. Eso es lo que no sé hacer, el update cumpliéndose las condiciones de la consulta.
Código SQL [-]
select
    cf.pventa,
    cf.serie,
    cf.folio,
    cf.indice,
    cf.total
from
    drybcuenf cf
join
    drybcuen c
        on cf.pventa = c.pventa
        and cf.serie = c.serie
        and cf.folio = c.folio
where
    c.suma = 0 and
    c.horacierra is null
Para ver si me entiendes mejor, sería algo como.
Código SQL [-]
update drybcuenf set total = 0 where drybcuen.suma = 0 and drybcuen.horacierra is null
Responder Con Cita
  #10  
Antiguo 15-08-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Cuál es la estructura de ambas tablas y los campos que las relacionan?
Responder Con Cita
  #11  
Antiguo 15-08-2015
kcaARLOosz kcaARLOosz is offline
Registrado
NULL
 
Registrado: ago 2015
Posts: 9
Poder: 0
kcaARLOosz Va por buen camino
Los campos que las relacionan son pventa, serie y folio.

drybcuenf tiene los siguientes campos:

pventa integer,
serie char,
folio integer,
total double

drybcuen tiene los siguientes campos:

pventa integer,
serie char,
folio integer,
horacierra date,
suma double
Responder Con Cita
  #12  
Antiguo 15-08-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola kcaARLOosz.

Creo que podrías hacer:
Código SQL [-]
UPDATE DRYBCUENF CF SET TOTAL = 0
WHERE EXISTS (SELECT C.PVENTA FROM DRYBCUEN C
              WHERE CF.PVENTA = C.PVENTA AND CF.SERIE = C.SERIE
              AND CF.FOLIO = C.FOLIO AND C.SUMA = 0 AND C.HORACIERRA IS NULL)

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #13  
Antiguo 16-08-2015
kcaARLOosz kcaARLOosz is offline
Registrado
NULL
 
Registrado: ago 2015
Posts: 9
Poder: 0
kcaARLOosz Va por buen camino
Muchas gracias por las respuestas!

¿Servirá para múltiples registros?. Por el momento no tengo acceso a la BD, pero cuando haga las pruebas notifico como me fue.

Excelente foro.
Responder Con Cita
  #14  
Antiguo 17-08-2015
kcaARLOosz kcaARLOosz is offline
Registrado
NULL
 
Registrado: ago 2015
Posts: 9
Poder: 0
kcaARLOosz Va por buen camino
Muchas gracias a ambos!

Me sirvió tu respuesta eficsa.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Update con Inner Join Funciona en Access pero no en firebird Acanol Firebird e Interbase 7 27-05-2012 01:25:48
usando LEFT JOIN o RIGHT JOIN alcides SQL 8 03-05-2007 17:35:46
Problema con Update e inner join Leonardo SQL 1 06-06-2006 02:21:10
LEFT OUTER JOIN e INNER JOIN Juntos alcides SQL 3 08-07-2005 18:06:27
Update de un DBGrid que contiene JOIN gluglu SQL 3 14-02-2005 18:04:25


La franja horaria es GMT +2. Ahora son las 03:41:15.


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
Copyright 1996-2007 Club Delphi