Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-07-2003
mosorio mosorio is offline
Miembro
 
Registrado: may 2003
Posts: 159
Poder: 22
mosorio Va por buen camino
Question Ayuda con Consulta

Hola compañeros!

Tengo una duda con esta consulta, aver si me hechan una mano.
Tengo unas tablas relacionadas, donde en una de ellas relaciono dos veces la misma tabla pero con campos diferentes; es decir tengo una tabla de "Ventas" relacionada con una de "FormaPago" de la siguiente forma:

Cita:
Ventas
id, fecha, hora, ..., idfpago, pago, idpagofrac, valor

FormaPago
idfpago, formapago
Las tablas las relaciono con el idfpago y el idpagofrac, solo se toma el primer forma de pago que es obligatoria y la segunda es opcional, en la opcional no le asignaba nada, ahora le asigno un 0 como valor asociado al registro porque pensaba que el fallo del resultado influía en el valor null del campo opcional, entonces la consulta al quiero hacer asi:

Cita:
SELECT
V.IDVENTA, V.FECHAVTA, V.HORAVTA, V.TOTALVTA, C.CLIENTE,
D.DEPENDIENTE, F.FORMAPAGO, V.PAGO, F.FORMAPAGO, V.PAGOFRACION
FROM
VENTAS V, DEPENDIENTES D, FORMAPAGO F, CLIENTES C
WHERE
V.IDCLIENTE = C.IDCLIENTE AND
V.IDDEPTE = D.IDDEPTE AND
V.IDFPAGO = F.IDFPAGO AND
V.IDPAGOFRAC = F.IDFPAGO
pero no me resulta ningun resultado, antes que modificara el valor opcional me daban los mismos datos en los dos campos, siendo que uno tenía un valor diferente.
El resto de la información sale bien, espero me den una ayuda, es para terminar un reporte maestro/detalle y este es la parte de detalle.

Gracias de antemano
Responder Con Cita
  #2  
Antiguo 22-07-2003
Avatar de javiermorales
javiermorales javiermorales is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 272
Poder: 22
javiermorales Va por buen camino
Si en una consulta estás intentando relacionar una misma tabla por dos campos distintos, no debes poner la misma tabla dos veces, con el mismo alias, sino que debes poner la tabla dos veces con alias diferentes, para que las trate como dos tablas distintas. Ya que si lo haces como ahora, lo tomará como una doble condición sobre la misma tabla.

Ej:

select a.id1,c.id2
from pepe a, antonio b, pepe c
where a.id1= b.id1
and b.id2=c.id2

Espero que te sirva. Un saludo.
Responder Con Cita
  #3  
Antiguo 22-07-2003
mosorio mosorio is offline
Miembro
 
Registrado: may 2003
Posts: 159
Poder: 22
mosorio Va por buen camino
Muchas Gracias Javiermorales!

En efecto tienes razón ha resultado la respuesta que esperaba.
Por cierto tienes el mismo nombre y apellidos de un primo en colombia.
Salu2
Responder Con Cita
  #4  
Antiguo 23-07-2003
Avatar de javiermorales
javiermorales javiermorales is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 272
Poder: 22
javiermorales Va por buen camino
Pues nada, saluda a mi tocayo Colombiano. Un abrazo.
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


La franja horaria es GMT +2. Ahora son las 12:05:49.


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