Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-04-2012
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 419
Poder: 14
cmfab Va por buen camino
Ayuda con consulta SQL

Hola a todos, tengo dos tablas en una Base de datos MySQL (tabla 1, tabla 2) en la tabla 1 tengo por ejemplo un campo denominado importe y en la tabla 2 tengo otros campos necesarios, ambas tablas se enlazan por un campoID, lo que necesito es que la consulta me devuelva el importe total de la tabla 1 y que me muestre tambien los campos del detalle almacenado en la tabla 2, pero lo que sucede en mi codigo SQL es que me esta duplicando el importe por cada item de coincidencia en la tabla 2. estoy usando la siguiente instruccion.

Código SQL [-]
SELECT  Sum(Tabla1.Importe) AS Importetotal, Tabla2.Campo1, Tabla2.Campo2 FROM Tabla1, Tabla2
Where Tabla1.docID = Tabla2.docID
GROUP BY Tabla1.docexterno

Gracias de antemano
Responder Con Cita
  #2  
Antiguo 10-04-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Son dos campos en la tabla2, lo veo dificil, tal vez asi:
Código SQL [-]
SELECT  Sum(Tabla1.Importe) AS Importetotal 
(Select Tabla2.Campo1, Tabla2.Campo2 FROM Tabla2)
FROM Tabla1 Where Tabla1.docID = Tabla2.docID
GROUP BY Tabla1.docexterno

Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 10-04-2012
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 419
Poder: 14
cmfab Va por buen camino
Gracias por la respuesta, pero no funciona, debo aclarar que me confundi en la calusula Group By, seria esta:

Código SQL [-]
Group By Tabla1.docID
Responder Con Cita
  #4  
Antiguo 10-04-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Describe las tablas y campos y lo que quieres obtener
Responder Con Cita
  #5  
Antiguo 10-04-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola

Código SQL [-]
SELECT DISTINCT Tabla2.Campo1, Tabla2.Campo2, Sum(Tabla1.Importe) AS Importetotal
FROM Tabla1 INNER JOIN Tabla2 ON Tabla1.campoID = Tabla2.campoID
GROUP BY Tabla2.Campo1, Tabla2.Campo2

Saludos

Edito:
Como se esta duplicando el dato de la suma se necesita hacer una distincion de los campos de la tabla 2.
Lo he probado y NO duplica la suma.
__________________
Siempre Novato

Última edición por Caral fecha: 10-04-2012 a las 21:18:12.
Responder Con Cita
  #6  
Antiguo 10-04-2012
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 419
Poder: 14
cmfab Va por buen camino
Gracias por su interes, pero sigue sin funcionar, lo explico mejor:

en la tabla 2 tengo tres campos: campo1 y campo2 y campoID (por ejemplo en ella solo tengo dos registros)

en la tabla 1 tengo dos campos: campo ID e Importe (en esta tabla para realizar la prueba tengo por ejemplo 4 registros con sus importes ),

osea que el campoID lo tenemos en dos registros de tabla 2 y en 4 registros de tabla 1. lo que necesito es que me totalice el importe de tabla 1

pero que me muestre campo1 y campo2 de tabla 2, que son datos iguales para ambos registros de esta tabla.

Lo que esta sucediendo es que el total del importe que esta en tabla 1 me lo esta multiplicando por 2 ( osea lo multiplica por el total de registros en tabla 2 )

Espero se entienda mejor

Gracias una vez mas
Responder Con Cita
  #7  
Antiguo 10-04-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No puede ser, no sera que lo esta presentando dos veces igual ?.
Otra cosa adicional, si hay registros diferentes en los campos de la tabla 2 los presentara si o si.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #8  
Antiguo 10-04-2012
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 419
Poder: 14
cmfab Va por buen camino
hola, será que vos lo probastes así como digo 4 registros en tabla1 y dos en tabla 2 por ejemplo ??
Responder Con Cita
  #9  
Antiguo 10-04-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Aqui te dejo un ejemplo EXACTO a lo que me dices.
Tabla 1 con 2 campos y tres datos
Tabla 2 con tres campos y datos.
Lo hice en access para que lo veas fácilmente, puede abrir la tabla, modificar los datos y probar.
Si ejecutas el programa veras que solo hay una linea y la suma la hace correctamente.
Saludos
__________________
Siempre Novato

Última edición por Caral fecha: 03-02-2015 a las 18:52:44.
Responder Con Cita
  #10  
Antiguo 10-04-2012
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 419
Poder: 14
cmfab Va por buen camino
Gracias por tu paciencia, pero nunca he descargado un archivo por esta via, pero veo que en el compactado hay un solo arhivo sin extencion ni nada. o es que no lo estoy haciendo correctamente
Responder Con Cita
  #11  
Antiguo 10-04-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Es un ZIP, osea compactado.
Windows lo descompacta o hay varios programas para hacerlo.
Creo que con darle click derecho te da la opción.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #12  
Antiguo 10-04-2012
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 419
Poder: 14
cmfab Va por buen camino
Si eso lo entiendo, gracias yo tengo WinRar y le doy click derecho y lo extraigo, pero me extrae un saolo archvio suma campos (36 KB), sin extension ni nada, no reconocido por Windows, por eso la pregunta, si es que falta algo mas para abrirlo
Responder Con Cita
  #13  
Antiguo 10-04-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Yo lo he bajado para revisarlo y dentro esta la carpeta que contiene los archivos del ejemplo y la BD.
Vuelve a bajarlo, tal vez tuvo algun problema.
Si no dime y te lo envío por correo no hay problema.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #14  
Antiguo 10-04-2012
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 419
Poder: 14
cmfab Va por buen camino
si seria mejor si me lo envias al correo, despues os comento como me fue

Gracias

Última edición por ecfisa fecha: 10-04-2012 a las 23:51:48. Razón: Quitar dirección de correo (pendiente)
Responder Con Cita
  #15  
Antiguo 10-04-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Ya lo envié.
Por favor a algun Moderador quitar el correo de cmfab para que no tenga problemas.
Gracias.
Salidos
__________________
Siempre Novato
Responder Con Cita
  #16  
Antiguo 10-04-2012
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 419
Poder: 14
cmfab Va por buen camino
Probado, voy a revisar porque no funciona en MySQL, es extraño

un saludo grande !!!
Responder Con Cita
  #17  
Antiguo 10-04-2012
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 cmfab.

Tál como sugirió Caral (para tu beneficio), quité tu dirección de correo electrónico para que no te llenen de spam. Si aún así deseas publicarlo avísame por mensaje privado y lo agrego al mensaje nuevamente.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #18  
Antiguo 11-04-2012
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 419
Poder: 14
cmfab Va por buen camino
Hola Caral, vuelvo a retomar el tema, no funciona el ejemplo, fijate bien como puse mas arriba el ejemplo. si agregas otro registro en tabla2, veras que te duplica el importe, osea que es lo que te decia, esta multipilcando la suma del importe en tabla1 por la cantidad de registros en tabla2. como en tu ejemplo solo tenes un registro en tabla2 funciona bien, pero si agregas otro veras la diferencia.

un saludo, grande a todos !!!!
Responder Con Cita
  #19  
Antiguo 11-04-2012
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 419
Poder: 14
cmfab Va por buen camino
Gracias ecfisa,
Responder Con Cita
  #20  
Antiguo 11-04-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No te entiendo.
Puse mas datos en la tabla 2 para ver y no me duplica el total, solo lo muestra en cada linea, que es logico por ser una sola sentencia para un dbgrid.

Estos datos puse en la tabla 2:

CampoID......Campo1....Campo2
1...............nada......... no
1...............otro.......... si
2...............est........... es

y esto en la tabla 1:

CampoID.......Importe
1.................2
1.................4
1.................5
2.................10

Esto presenta el dbgrid:

Campo1............Campo2............Importe
est.................. es....................10
nada................no....................11
otro.................si.....................11

Como ves no suma los totales, lo que si hace es presentarlos dos veces en el caso de que un campoID se duplique.
Esto lo dije antes: Es logico ya que se trata de una presentacion en dbgrid y llenara las celdas con informacion.

No se si estoy entendiendo mal.
Saludos
__________________
Siempre Novato
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 consulta. Jose Roman SQL 10 05-08-2010 23:57:37
ayuda con consulta con ado y SQL frholguin SQL 11 23-04-2010 23:13:43
Ayuda con consulta... Jose Roman SQL 2 03-02-2009 10:36:56
Ayuda con consulta raco Varios 6 06-04-2005 02:14:25
Ayuda con consulta albertron SQL 4 27-02-2004 16:19:26


La franja horaria es GMT +2. Ahora son las 05:51:06.


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