Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => Bases de Datos => Mensaje iniciado por: JonaLamper en 23 Septiembre 2016, 13:51 PM

Título: condición IF en consulta SQL
Publicado por: JonaLamper en 23 Septiembre 2016, 13:51 PM
Buenas,

Tengo la siguiente consulta:

Código (sql) [Seleccionar]

SELECT DISTINCT id_actividad, id_tipo_actividad, id_rc, datos, fecha, adjunto
FROM actividad WHERE fecha >= DATE_SUB( CURDATE( ) , INTERVAL  '7' DAY ) AND id_usuario='1000' ORDER BY fecha DESC LIMIT 0 , 3

IF id_rc == "NULL" THEN
#devuelve id_actividad, id_tipo_actividad, etc
ELSE
IF id_rc NOT IN (SELECT id_reto FROM retos_difusion_amigo)
#devuelve id_actividad, id_tipo_actividad, etc
ELSE
#no devuelve nada
END IF;
#no devuelve nada
END IF;


Como se ve, lo que pretendo es retornar los campos id_actividad, id_tipo_actividad, id_rc, datos, fecha, adjunto sólo cuando se cumplan esos IF. ¿Alguien sabe cómo devolver los campos o si la consulta es correcta?

Muhcas gracias   ;D
Título: Re: condición IF en consulta SQL
Publicado por: Shell Root en 23 Septiembre 2016, 14:57 PM
Puedes usar variables :https://msdn.microsoft.com/en-us/library/ms188927.aspx

Por ejemplo
Código (sql) [Seleccionar]
declare @userId uniqueidentifier
SELECT TOP 1 @userId = UserId FROM aspnet_Users


Ahora @userId tiene el valor del registro de la base de datos.
Título: Re: condición IF en consulta SQL
Publicado por: Pablo Videla en 23 Septiembre 2016, 15:27 PM
http://www.1keydata.com/es/sql/sql-case.php

Eso también te puede orientar.