Blogger news

Este tipo de consultas nos sirven para recibir parametros y aunque no recibamos nada regrese algun valor

declare @var1 int
declare @var2 bit
declare @var3 int

set @var1 = 2.2
set @var2 = NULL
set @var3 = NULL


select * from tabla
where 1= CASE WHEN @var1 > 10 THEN 1 WHEN @var1 IS NULL THEN 1 END
and 1 = CASE WHEN @var2 < 10 THEN 1 WHEN @var2 IS NULL THEN 1 END
and 1 = CASE WHEN @var3 = 10 THEN 1 WHEN @var3 IS NULL THEN 1 END

Este order by sirve si tienen el mismo query pero tal vez lo quieran ordenar por nombre o por clave etc con la opcion que le pasen es con la que se ordenara su query

ORDER BY (CASE WHEN @Orden = 'Opc1' THEN max(t1.campo)
WHEN @Orden = 'Opc2' THEN max(t2.campo)
WHEN @Orden = 'Opc3' THEN max(t3.campo)
END)
-------------- o la siguiente opcion ------------------
Declare @campo
Set @campo = 'el campo a ordenar'
ORDER BY @campo


Listo espero que les haya servido ya que en ocasiones repetimos codigo

0 comentarios:

Publicar un comentario