elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
14 Febrero 2012, 07:36  

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos
| | | |-+  Recuperar valor de consulta SQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Recuperar valor de consulta SQL  (Leído 3,385 veces)
Shell Root


Desconectado Desconectado

Mensajes: 2.400


Alex Jurado


Ver Perfil WWW
Recuperar valor de consulta SQL
« en: 27 Febrero 2010, 06:29 »

Bueno, en vista de que retome mi profesion de Desarrollador de Software, cosa que no retomaba desde hace más de 4 ó 5 meses, se me olvido realizar esto en SQL.

Supongamos que tenemos esta consulta.
Código
SELECT COUNT(intIDUsuario) FROM dbo.tblReservas WHERE (intIDUsuario = '1') AND (Estado = 'Activo')

Ahora quiero que en una variable dentro del SQL, recuperar el valor que dá el resultado de la consulta anterior. Tengo que usar Cursores?


En línea

---
^Tifa^


Desconectado Desconectado

Mensajes: 2.802


Ver Perfil
Re: Recuperar valor de consulta SQL
« Respuesta #1 en: 27 Febrero 2010, 15:47 »

No del todo, porque fijate que estas utilizando COUNT que retorna 1 solo valor entero acorde a la cantidad de registros que encuentres  ;)  esto cabe perfectamente en 1 sola variable dentro del motor solo declara la variable previamente y haz tu consulta:

Código
SELECT COUNT(intIDUsuario) INTO @variable FROM dbo.tblReservas WHERE (intIDUsuario = '1') AND (Estado = 'Activo'
 

Luego ya sabes haces un SELECT @variable para ver la info retornada.

Los cursores lo usaras cuando requieras obtener como respuesta mas de 1 registro, digase que quisieras obtener todos los nombres de los usuarios que ingresaron a un colegio en el año 2008 por ejemplo, aca sabes que si dices SELECT NOMBRES el te retornara mas de 1 valor, distribuido en distintos campos, entonces ahi si necesitas cursores. Pero en tu caso al utilizar la funcion COUNT estas sumando todos los registros encontrados, para al final retorna 1 solo valor que es la suma de lo encontrado  ;)

Saludo.


En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.400


Alex Jurado


Ver Perfil WWW
Re: Recuperar valor de consulta SQL
« Respuesta #2 en: 27 Febrero 2010, 18:32 »

Es correcto hacer esto?
Código
DECLARE @variable AS INT
SELECT COUNT(intIdTipoUsuario) INTO @variable FROM tblTipoUsuario
PRINT @variable
Porque me dá error en la segunda linea (Sintaxis incorrecta cerca de '@variable')



Ok. Y si el campo no fuese un INT sino un String (Varchar). Por ejemplo:
Código
SELECT strTipoUsuario FROM tblTipoUsuario WHERE (intIdTipoUsuario = 1)
« Última modificación: 27 Febrero 2010, 18:35 por Alex@ShellRoot » En línea

---
^Tifa^


Desconectado Desconectado

Mensajes: 2.802


Ver Perfil
Re: Recuperar valor de consulta SQL
« Respuesta #3 en: 27 Febrero 2010, 20:00 »

Que motor es???? porque eso de declare variable as tal cosa suena a Oracle....

En MySQL es mas sencillo, ni tienes que declarar previamente la variable, bastaria con:

SELECT COUNT(campo) INTO @variable1 FROM TABLA WHERE CAMPO = ALGO

luego

SELECT @variable1
En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.400


Alex Jurado


Ver Perfil WWW
Re: Recuperar valor de consulta SQL
« Respuesta #4 en: 27 Febrero 2010, 20:18 »

Microsoft SQL Server 2008, me olvidaba, estoy con Store Procedure
« Última modificación: 27 Febrero 2010, 20:35 por Alex@ShellRoot » En línea

---
^Tifa^


Desconectado Desconectado

Mensajes: 2.802


Ver Perfil
Re: Recuperar valor de consulta SQL
« Respuesta #5 en: 27 Febrero 2010, 20:54 »

No utilizo SQL Server. Pero buscando por ahi en internet una instruccion similar:

http://www.eggheadcafe.com/software/aspnet/30322497/store-count-into-a-variab.aspx

Haber si te sirve  :P
En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.400


Alex Jurado


Ver Perfil WWW
Re: Recuperar valor de consulta SQL
« Respuesta #6 en: 27 Febrero 2010, 20:58 »

Simon, eso era lo que necesitaba.  :-*

Código
DECLARE @intCount INT
SET @intCount= (SELECT COUNT(intIdTipoUsuario) FROM tblTipoUsuario)
PRINT @intCount
Resultado:
Código:
3

Código
DECLARE @srtTipoUsuario AS VARCHAR(50)
SET @srtTipoUsuario = (SELECT strTipoUsuario FROM tblTipoUsuario WHERE (intIdTipoUsuario = 1))
PRINT @srtTipoUsuario
Resultado:
Código:
Administrador
En línea

---
^Tifa^


Desconectado Desconectado

Mensajes: 2.802


Ver Perfil
Re: Recuperar valor de consulta SQL
« Respuesta #7 en: 27 Febrero 2010, 21:09 »

Bueno siempre es buscarle la vuelta al asunto

Un besito para mi  :D

Grax.
En línea
[ Alberto]
Wiki

Desconectado Desconectado

Mensajes: 1.229


Software Libre para mentes abiertas


Ver Perfil
Re: Recuperar valor de consulta SQL
« Respuesta #8 en: 22 Marzo 2010, 00:12 »

puedes meterlo tambien en la consulta

Código:
DECLARE @intCount int
SELECT @intCount = COUNT(intIdTipoUsuario) FROM tblTipoUsuario
En línea

Debemos de hacer todas las cosas sencillas, excepto las cosas sencillas
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines