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.057
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
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 20:57:19.


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