Foro de elhacker.net

Programación => 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
  1. SELECT DISTINCT id_actividad, id_tipo_actividad, id_rc, datos, fecha, adjunto
  2. FROM actividad WHERE fecha >= DATE_SUB( CURDATE( ) , INTERVAL  '7' DAY ) AND id_usuario='1000' ORDER BY fecha DESC LIMIT 0 , 3
  3.  
  4. IF id_rc == "NULL" THEN
  5. #devuelve id_actividad, id_tipo_actividad, etc
  6. ELSE
  7. IF id_rc NOT IN (SELECT id_reto FROM retos_difusion_amigo)
  8. #devuelve id_actividad, id_tipo_actividad, etc
  9. ELSE
  10. #no devuelve nada
  11. END IF;
  12. #no devuelve nada
  13. 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
  1. DECLARE @userId uniqueidentifier
  2. 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.