Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Sp Con Select Varios Y Misma Variable

Estas en el tema de Sp Con Select Varios Y Misma Variable en el foro de SQL Server en Foros del Web. Hola de nuevo, escribo porque me surgio el siguiente inconveniente, o mejor dicho como hago para concatenarlos y que al ejecutar el SP me devuelva ...
  #1 (permalink)  
Antiguo 24/10/2006, 16:05
Avatar de lanzi  
Fecha de Ingreso: noviembre-2005
Ubicación: BUENOS AIRES
Mensajes: 55
Antigüedad: 18 años, 5 meses
Puntos: 0
Sp Con Select Varios Y Misma Variable

Hola de nuevo, escribo porque me surgio el siguiente inconveniente, o mejor dicho como hago para concatenarlos y que al ejecutar el SP me devuelva los dos resultados?:
¿donde esta el error?????

CREATE PROCEDURE SP_xxx
AS

DECLARE @sSQL VARCHAR(1000)

SET @sSQL =

'
SELECT
COUNT(''XYXYXYXY'') AS TOTAL_GENERAL

FROM
XXXXXXXXXXXXXXXXX

WHERE (XXXXXXXXXXXX = 1) AND
(XXXXXXXX = 1) AND
(XXXXX = 1)
'

EXEC (@sSQL)
GO

DECLARE @sSQL VARCHAR(1000)

SET @sSQL =

'
SELECT
COUNT(''XYXYXYXY'') AS TOTAL_GENERAL_47

FROM
XXXXXXXXXXXXXXXXX

WHERE (XXXXXXXXXXXX = 1) AND
(XXXXXXXX = 1) AND
(XXXXX = 1) AND
(XXX = 1)
'

EXEC (@sSQL)
GO
  #2 (permalink)  
Antiguo 24/10/2006, 17:08
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Mete todas las sentencias dentro de la misma cadena y separalas con la palabra UNION, de manera que quede algo como

SELECT Sum(cosa)
FROM tabla
UNION
SELECT Sum(otracosa)
FROM otratabla
UNION
....

Y entonces si ejecuta tu cadena. Por cierto... ejecutala con sp_executesql en lugar de EXEC, asi cierras varios de los agujeros que abres al usar SQL dinámico (armarlo en una cadena)
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #3 (permalink)  
Antiguo 25/10/2006, 16:29
Avatar de lanzi  
Fecha de Ingreso: noviembre-2005
Ubicación: BUENOS AIRES
Mensajes: 55
Antigüedad: 18 años, 5 meses
Puntos: 0
De acuerdo graciela!!

Gracias asi pude solucionarlo, pero tuve otro inconveniente ahora, realizo una diferencia entre fechas, para saber la edad de alguien, pero me la genera en forma "virtual" en un campo xx y no se la puedo asignar a un campo de la tabla creado para tal fin ¿como hago? debe ser facil, pero me tira el error 8152 y me estoy volviendo loco...


DECLARE @EDAD VARCHAR (1000)

SET @EDAD =
'
SELECT

DATEDIFF( YY, FECHA_NACIMIENTO, GETDATE())
FROM
dbo.NACIMIENTO
'
EXEC (@EDAD)
UPDATE NACIMIENTO
SET EDAD = @EDAD
GO

Última edición por lanzi; 25/10/2006 a las 16:32 Razón: ERROR EN EL CODIGO
  #4 (permalink)  
Antiguo 26/10/2006, 09:07
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Así:

UPDATE NACIMIENTO
SET EDAD = (SELECT DATEDIFF( YY, FECHA_NACIMIENTO, GETDATE())
FROM
dbo.NACIMIENTO)

Aunque me parece que te falta uno que otro WHERE ... a menos que la tabla solo tenga un solo registro
  #5 (permalink)  
Antiguo 17/11/2006, 14:05
Avatar de lanzi  
Fecha de Ingreso: noviembre-2005
Ubicación: BUENOS AIRES
Mensajes: 55
Antigüedad: 18 años, 5 meses
Puntos: 0
Gracias!!!!!!!!!!!!

Les Agradezco Nuevamente, Pude Solucionar Los Inconvenientes, Son El Foro Mas Grande!!!!
  #6 (permalink)  
Antiguo 17/11/2006, 14:24
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
De nada... para eso estamos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:52.