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 15-11-2011
amell2020 amell2020 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 41
Poder: 0
amell2020 Va por buen camino
Ayuda con tabla master detalle

okay amigo yo logre hacer las tablas master detalle bien y me funciona, pero ahora yo quiero sumar el campo total de las tres tablas que tengo como detalle y lo hago con esta consulta desde mi adoquery y lo muestro en un edit llamado Precio Total:

ADOQUERY3.SQL.Text:='SELECT sum( [PRECIO TOTAL] + [COSTO TOTAL] + TOTAL ) AS suma from productos, materiales, servicios WHERE Id_facturacion LIKE ''%'+Edit29.Text+'%''';
ADOQUERY3.Active:=TRUE;


Bueno me explico:
Yo tengo una tabla llamada facturacion, y otras tres que son las Detalle llamadas productos, materiales, servicios.

pero tengo un problema que los datos me aparecen solo cuando tengo los tres registro en cada tabla, si una de la tabla detalle no tiene registro no me muestra nada en el edit precio total.
por favor ayuda amigos
Responder Con Cita
  #2  
Antiguo 16-11-2011
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
Cita:
tengo un problema que los datos me aparecen solo cuando tengo los tres registro en cada tabla, si una de la tabla detalle no tiene registro no me muestra nada en el edit precio total.
Hola.

Eso sucede cuando alguno de los campos sumandos tiene valor NULL, ya que: NULL + 1 + 2 + ... + n = NULL.

En Firebird por ejemplo, podrías resolverlo así:
Código SQL [-]
SELECT SUM (COALESCE(PRECIO TOTAL, 0) + COALESCE(COSTO TOTAL ,0) + COALESCE(TOTAL, 0)) AS SUMA
FROM PRODUCTOS, MATERIALES, SERVICIOS
WHERE ...
Ignoro con que motor estas trabajando, pero tendrías que buscar alguna forma de convertir el valor NULL en cero.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 16-11-2011
amell2020 amell2020 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 41
Poder: 0
amell2020 Va por buen camino
estoy usando SQL SERVER, como convertir los valores null en = 0
Responder Con Cita
  #4  
Antiguo 16-11-2011
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.

No conozco la sintáxis de MS SQL Server, pero según este enlace, también soporta la funcion COALESCE.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 16-11-2011
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Veo que en la consulta incluyes tres tablas, pero no veo cómo relacionas los registros de las tres. Necesitarás incluir en la SQL 'inner joins' o condiciones entre los campos que relacionan las tablas tras el WHERE.

Ejemplo

Código SQL [-]
SELECT sum( [PRECIO TOTAL] + [COSTO TOTAL] + TOTAL ) AS suma from productos P
INNER JOIN materiales M ON (condicion entre las tablas productos y materiales )
INNE RJOIN servicios S ON ( condicion entre las tablas productos y Servicios )
WHERE Id_facturacion LIKE ''%'+Edit29.Text+'%''';
Es un ejemplo. Además, me huele que te falta alguna tabla, no sé. Deberás incluir los campos de las tablas para saber cómo quedan relacionados.

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
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
Master-Detail(Key Field+Memo) no navega por Tabla Detalle pmarin Conexión con bases de datos 2 30-08-2011 12:25:57
Ayuda con Diseño de Tabla Maestro-Detalle microbiano Conexión con bases de datos 1 07-04-2010 23:40:13
Tabla Paradox maestro/detalle Ayuda Jaros Tablas planas 2 05-01-2008 13:35:33
Trigger en master-detalle jgutti Firebird e Interbase 3 07-08-2004 01:33:58


La franja horaria es GMT +2. Ahora son las 10:36:46.


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