Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-10-2007
marcial marcial is offline
Miembro
 
Registrado: may 2003
Posts: 147
Poder: 22
marcial Va por buen camino
Question Ayuda con Query

Hola a todos:
Por favor, necesito ayuda para algo simple:
Trabajo don D5 y Paradox
Tengo dos tablas, una FACTURAS y otra ENTREGA
en Facturas dos campos : CLIENTE y TOTALFACTURA
en Entregas dos campos : CLIENTE y TOTALENTREGA
y en cada tabla un registro
en Facturas: Cliente 00052 TotalFactura: 100
en Entregas: Cliente 00052 TotalEntraga: 100

pues bien, lo que yo quiero es un query que me mezcle las dos y obtenga lo siguiente:

Cliente TotalEntrega TotalFactura
00052 100 0
00052 0 100

esto es muy simple, y llevo tiempo con el Join, Inner, Left, Right y lo que obtengo es lo siguiente:

Cliente TotalEntrega TotalFactura
00052 100 100
00052 100 100

Como puedo hacerlo??

Muchas gracias por anticipado

Marcial
Responder Con Cita
  #2  
Antiguo 31-10-2007
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 20
Ivanzinho Va por buen camino
Puedes hacerlo así :
Código SQL [-]
Select cliente, TotalFactura, 0 TotalEntrega
from Facturas
UNION
Select cliente, 0 TotalFactura, TotalEntrega
from Entregas
order by 1

Un saúdo
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita
  #3  
Antiguo 31-10-2007
marcial marcial is offline
Miembro
 
Registrado: may 2003
Posts: 147
Poder: 22
marcial Va por buen camino
Seguramente tendras razon, pero me da "Type Mitmatch en la expresion". No se que significa "0 TotalFactura".
Por otra parte, en el fichero Facturas no tengo el campo "TotalEntrega" ni en el fichero entregas tengo el campo "TotalFactura"

De todas formas gracias.
Responder Con Cita
  #4  
Antiguo 31-10-2007
Avatar de Lonidas
Lonidas Lonidas is offline
Miembro
 
Registrado: abr 2006
Posts: 35
Poder: 0
Lonidas Va por buen camino
Smile

Asi seria la consulta
Código SQL [-]
Select cliente, TotalFactura, 0 
from Factura
UNION
Select cliente, 0 , TotalEntrega
from Entrega

lo que te quiso poner [Ivanzinho] es que donde dice "0 totalfactura" es para que aparesca la columna con el nombre TotalFactura pero le falto el comando "As" osea te quedaria asi
Código SQL [-]
Select cliente, TotalFactura, (0) As TotalEntrega
from Factura
UNION
Select cliente, (0) As TotalFactura , TotalEntrega
from Entrega

Última edición por Lonidas fecha: 31-10-2007 a las 14:52:00.
Responder Con Cita
  #5  
Antiguo 31-10-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
(edito: ya está solucionado)

¿ahora no se pueden borrar los mensajes?? bueno, pos vale

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 31-10-2007 a las 14:48:41.
Responder Con Cita
  #6  
Antiguo 31-10-2007
marcial marcial is offline
Miembro
 
Registrado: may 2003
Posts: 147
Poder: 22
marcial Va por buen camino
Perdonad todos pero creo que por simplificar os he confundido un poco. Vamos a ver:
Lo que me habeis contestado funciona bien con respecto a mi pregunta inicial pero lo que no os he dicho es que los ficheros Cabeceras y Entregas contienen más campos no comunes por ejemplo en Entregas hay "Concepto" y en Cabeceras hay "TipoDocumento", "BaseImponible", "Descuento" etc.

Entonces cuando pongo en los select de cada fichero sus campos me aparece lo de "tipo mitmatch en la expresion" porque todos no son campos comunes a los dos ficheros.

Espero haberme explicado y os doy las gracias a todos nuevamente.
Responder Con Cita
  #7  
Antiguo 31-10-2007
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 20
Ivanzinho Va por buen camino
No entiendo bien qué es lo que quieres, ¿puedes poner un ejemplo de las dos tablas y lo que quieres conseguir?

Recuerda que para hacer la union las dos consulta tienen que devolver los mismos campos, si una tabla tiene unos campos que la otra no tiene lo que debes hacer es agregarlos como te indique anteriormente con los campos TotalFactura y TotalEntrega

Un saúdo.
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)

Última edición por Ivanzinho fecha: 31-10-2007 a las 18:20:54.
Responder Con Cita
  #8  
Antiguo 31-10-2007
marcial marcial is offline
Miembro
 
Registrado: may 2003
Posts: 147
Poder: 22
marcial Va por buen camino
Tienes razon, es mejor un ejemplo:
en la tabla Entregas a cuenta tengo los siguientes campos:
Codigo (es el codigo del cliente), HoraApunte, Nombre, ImporteEntrega, FechaEntrega, Concepto, Documento

En Cabeceras tengo:
Documento, TipoDocumento,Fecha,NroFactura,CodCliente,NombreCliente,BImponible,Descuento,Recargo,TotalFinal,Fact urado,Pagado,oficial

y lo que quiero es que me salga un query con
Documento,Fecha,CodCliente,Nombre,ImporteEntrega,ImporteFactura,Concepto,TotalFactura
WHERE TipoDocumento <> "P" and TipoDocumento <> "B" ORDER ByFECHA

para que me salgan tantos registros como entregas a cuenta mas aquellas cabeceras que no sean P ni B

Gracias otra vez
Responder Con Cita
  #9  
Antiguo 31-10-2007
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 20
Ivanzinho Va por buen camino
No sé, igual es culpa mia, pero sigo si entender muy bien lo que quieres.

Creo que deberías dar más información acerca de las tablas : Claves primarias, Claves foraneas, .... y poner un ejemplo con datos. Es que no veo muy bien la relación entre las tablas.

Un saúdo.
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita
  #10  
Antiguo 31-10-2007
Avatar de Lonidas
Lonidas Lonidas is offline
Miembro
 
Registrado: abr 2006
Posts: 35
Poder: 0
Lonidas Va por buen camino
Si yo también sigo sin entender lo que pretendes hacer, estamos hablando de dos tablas:
Entregas y Facturas
O de tres tablas
Entregas, Facturas y cabeceras
Quieres hacer un unión u otro tipo de consulta yo ya me perdí

Y que relaciona a entregas y cabeceras acaso es el Documento?
Responder Con Cita
  #11  
Antiguo 31-10-2007
marcial marcial is offline
Miembro
 
Registrado: may 2003
Posts: 147
Poder: 22
marcial Va por buen camino
Veamos
Tabla Entragas a Cuenta

Codigo FechaEntrega ImporteEntrega Concepto
00052 14/10/2007 100,00 Entrega a cuenta factura 28
00016 16/10/2007 50,00 Entrega a cuenta factura 14
00052 20/10/2007 40,00 Entrega a cuenta facturas


Tabla Cabeceras

CodCliente Fecha Documento TipoDocmto Pagado TOTAL Nombre
00010 05/10/2007 26 A N 500.00 Pepe
00052 07/10/2007 28 F N 100.00 Juan
00052 10/10/2007 30 F S 60.00 Juan

Yo quiero que cuando pida un extracto del cliente 00052 me salga:

Codigo Nombre Fecha Documento TipoDocmto Imp.Entrega Imp.Fra Concepto
00052 Juan 14/10/2007 100,00 Entrega...
00052 Juan 20/10/2007 40,00 Entrega.....
00052 Juan 07/10/2007 28 F 100,00
00052 Juan 10/10/2007 30 F 60,00
Responder Con Cita
  #12  
Antiguo 31-10-2007
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 20
Ivanzinho Va por buen camino
A ver si de esta te entendí
Código SQL [-]
Select CodigoCliente Codigo, Nombre, Fecha, Documento, TipoDocumento, 0 ImpEntrega, 
       ImpFra, '' Conceptofrom Cabeceras
where TipoDocumento <> 'P' and TipoDocumento <> 'B'
UNION
Select Codigo, Nombre, FechaEntrega Fecha, 0 Documento, '' TipoDocumento, ImpEntrega, 
      0 ImpFra, Concepto
from Entregas
order by 3

Igual se me coló algo, pero ese es el concepto.

Un saúdo.
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)

Última edición por Ivanzinho fecha: 31-10-2007 a las 20:16:54.
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
Ayuda con query Janisln1 Conexión con bases de datos 2 11-10-2007 00:27:08
Ayuda con Query Ado DBF Lucas_diaz1810 Conexión con bases de datos 3 26-12-2006 18:37:31
Ayuda con query Ricardo Alfredo Oracle 3 22-10-2006 14:36:09
ayuda con query karlita_cb SQL 1 31-01-2005 20:56:17
Ayuda con un query tgsistemas SQL 9 23-04-2004 20:32:32


La franja horaria es GMT +2. Ahora son las 18:01:38.


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