Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-10-2007
Avatar de Milperrimo
Milperrimo Milperrimo is offline
Miembro
 
Registrado: sep 2007
Ubicación: Guadalajara
Posts: 57
Poder: 17
Milperrimo Va por buen camino
problemas con consulta en un sp

Saludos, tengo un problemon aki en esta consulta porke necesito ke me regrese un solo registro con las sumas de todo lo ke kiero traer, pero me devuelve un registro por cada id, este es el sp
Código SQL [-]
SET TERM ^ ;
CREATE PROCEDURE TRAE3 (
 FECHAINI DATE,
 FECHAFIN DATE)
RETURNS (
 GS       FLOAT,
 MEC      INTEGER,
 SER      INTEGER,
 TC       INTEGER)
AS 
BEGIN FOR SELECT 
(SELECT SUM(GS) FROM HONDATA WHERE IDHONDATA = H.IDHONDATA) AS GS,
(SELECT COUNT(R.IDRETSER) FROM RETMR R WHERE R.IDHONDATA = H.IDHONDATA AND  R.IDRETSER = 1) AS MEC,
(SELECT COUNT(R.IDRETSER) FROM RETMR R WHERE R.IDHONDATA = H.IDHONDATA AND  R.IDRETSER = 2) AS SER,
(SELECT COUNT(R.IDRETSER) FROM RETMR R WHERE R.IDHONDATA = H.IDHONDATA AND R.IDRETSER = 3) AS TC
FROM ENCAOR E, HONDATA H
WHERE E.TIPO <> 'C' AND E.FECH BETWEEN :FECHAINI AND :FECHAFIN AND E.ORDE = H.ORDE AND EXTRACT(MONTH FROM (H.FECHORDE)) = EXTRACT(MONTH FROM(:FECHAFIN))
INTO :GS, :MEC, :SER, :TC
DO SUSPEND;
END^
SET TERM ; ^


el gs es un importe por lo que debe de traer la suma, los otros son tipos de algo, por lo que debe de traer el count de ellos.
en este caso en la tabla principal ke es hondata tengo 4 registros, de los cuales 2 cumplen con el requisito ke necesito ke es mandar la fecha, mando unas fechas de rango de marzo y de los 4 registros, 2 cumplen, por lo tanto me deve de traer el sp un registro con la suma de estos 2 pero me trae 2 registros, uno por cada uno, Como le hago para ke solo me mande uno con las sumas de los 2???????????????????????????// en el sqlserver no tenia problema alguno para traer este tipo de consultas. En el primer registro de la tabla el gs vale 56 y en segundo tambien, por lo que el resultado del sp debe de dar un registro con gs = 112 y MEC = 2 (los otros 2 en cero), pero en lugar de esto me da 2 registros con gs =56 y MEC =1 cada uno
Responder Con Cita
 



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
problemas con consulta UREÑA Conexión con bases de datos 7 23-08-2007 21:14:09
Problemas con consulta SQL lgarcia MS SQL Server 12 31-07-2006 11:48:03
Problemas con una consulta Sql romansiux SQL 2 14-06-2005 04:28:20
problemas con una consulta jas010 SQL 4 12-03-2005 02:14:57
Problemas de Consulta UTECYBER OOP 3 15-07-2004 21:24:40


La franja horaria es GMT +2. Ahora son las 06:17:15.


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