Aclaro que lo que mande antes, esta lejos de seguir buenas practicas :P :)
ahora eso, retocado por alguien que las siga puede quedar lindo :)
--------------------------------------------------------------------------------
rdi2k | Ezequiel Jadib | MSN: [EMAIL PROTECTED] | Blog: ejadib.wordpress.com
----- Original Message -----
From: Trafelati Víctor Hugo
To: [EMAIL PROTECTED]
Sent: Friday, January 05, 2007 4:08 PM
Subject: [dbms] Consulta SQL
Tiene que devolver columnas porque el resultado de esta consulta se pasa a un
control que la espera de esta forma. El control no lo hice yo.
Por cierto me olvidé de mencionar que esta consulta se debería hacer en un
procedimiento almacenado.
hasta ahora hice esto:
declare @jjj bigint, @final bigint, @strConsulta as nvarchar(4000)
set @jjj = 0
set @strConsulta = ''
select @final = count(idGerencia) from Gerencias
while @jjj < @final
Begin
set @strConsulta = @strConsulta + N'(SELECT COUNT(idUsuario) FROM Usuarios
WHERE idGerencia= 1) AS Sistemas'
if @jjj <> @final - 1
set @strConsulta = @strConsulta + N', '
set @jjj = @jjj + 1
End
set @strConsulta = N'SELECT ' + @strConsulta
exec (@strConsulta)
Ahora lo que me falta es cambiar el 1 y Sistemas por el valor que saque de
una consulta select idGerencia, nombreGerencia from Gerencias
----- Original Message -----
From: Gustavo Candelero
To: [EMAIL PROTECTED]
Sent: Friday, January 05, 2007 1:29 PM
Subject: [dbms] Consulta SQL
¿ por que tiene que devolver por columnas? ¿no puede ser que devuelva por
filas? Asi seria mas facil:
SELECT GER.NombreGerencia, COUNT(*) AS Cantidad
FROM Gerencia GER JOIN Uusarios USU ON GER.IDgerencia = USU.IDGerencia
GROUP BY GER.NombreGerencia
Gustavo Candelero
--------------------------------------------------------------------------
From: Trafelati Víctor Hugo <[EMAIL PROTECTED]>
Reply-To: [email protected]
To: "Gustavo Candelero" <[EMAIL PROTECTED]>
Subject: [dbms] Consulta SQL
Date: Thu, 4 Jan 2007 19:01:14 -0300
Hola tengo una problemita con esta consulta que quiero hacer:
Nota: los nombres de tablas y campos son de ejemplo
Tengo una tabla "Gerencias" con campo "idGerencia" y campo
"nombreGerencia" con n registros
Tengo otra tabla "Usuarios" con campo "idUsuario", campo "nombreUsuario",
campo idGerencia
Necesito armar una consulta que me devuelva una columna por cada registro
de la tabla "Gerencias" que se llame igual al campo "nombreGerencia"
Esta consulta devuelve una fila con la cantidad de usuarios que tiene
cada gerencia
El resultado esperado sería así:
Sistemas
Contable
Compras
Ventas
10
10
20
50
Había pensado algo así pero necesito reemplazar los Alias y la condición
del "idGerencia"
SELECT (SELECT COUNT(idUsuario) FROM Usuarios WHERE idGerencia= 1) AS
Sistemas,
(SELECT COUNT(idUsuario) FROM Usuarios WHERE idGerencia= 2)
AS Contable,
(SELECT COUNT(idUsuario) FROM Usuarios WHERE idGerencia= 3) AS Compras,
(SELECT COUNT(idUsuario) FROM Usuarios WHERE idGerencia= 4) AS Ventas
Muchas Gracias
Trafelati Víctor Hugo
Gerente
SIT - Sistemas Informáticos
[EMAIL PROTECTED]
www.sitsoft.com.ar
----------------------------------------------------------------------------
Regístrate en el nuevo Windows Live Messenger beta. ¡Haz click aquí!
----------------------------------------------------------------------------
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.432 / Virus Database: 268.16.6/617 - Release Date: 05/01/2007
11:11