Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Kase en 6 Junio 2011, 10:50 am



Título: Querys curiosas... [aporten =P]
Publicado por: Kase en 6 Junio 2011, 10:50 am
bueno, aver si me siguen el juego..

este es un par de querys curiosas  que e desarrollado o visto...

multiplicar precios al buelo
tenemos una tabla con un campo precios y un campo tipo(euro, dolar, etc) y queremos que sin importar el tipo siempre nos de dolares, entonces necesitamos una tabla extra  monedas{tipo,multiplicador}

Citar
select precio * multiplicador from tabla,monedas where moneda.tipo = tabla.tipo

conseguir el maximo o minimo sin usar max o min
Citar
min
select * from tabla not in ( select * from tabla, tabla as tabla2 where tabla.columna > tabla2.columna)
max
select * from tabla not in ( select * from tabla, tabla as tabla2 where tabla.columna < tabla2.columna)

edad al vuelo, util para tener siempe la edad exacta
Citar
select *,   CASE
    WHEN (MONTH(edad) < MONTH(current_date)) THEN YEAR(current_date) - YEAR(edad)
    WHEN (MONTH(edad)) AND (DAY(edad) <= DAY(current_date)) THEN YEAR(current_date) - YEAR(edad)
    ELSE (YEAR(current_date) - YEAR(edad)) - 1
END AS age
         from usuario;

consulta random
Citar
SELECT * FROM tabla WHERE columna ORDER BY RAND() LIMIT 10;

cambiar pass masivo
Citar
update usuario set pass = md5(pass)
aportaciones? =P


Título: Re: Querys curiosas... [aporten =P]
Publicado por: [u]nsigned en 6 Junio 2011, 14:54 pm
La de random es muy util no la conocia...gracias!!

Citar
multiplicar precios al vuelo
  :-X

Saludos!  ;D


Título: Re: Querys curiosas... [aporten =P]
Publicado por: Shell Root en 6 Junio 2011, 19:14 pm
Y que tiene de curiosas esas query's?


Título: Re: Querys curiosas... [aporten =P]
Publicado por: Kase en 6 Junio 2011, 20:23 pm
para uno que sabe le son normales...
pero cuando vas comenzando lo normal es creer que sql solo es para almacenar datos, y ni te imaginas que puedes hacer operaciones y otras cosas...
y al desconocer de ellas lo normal es querer implementarlas sobre el lenguaje de programación que usamos..

yo lo postie con la intencion de ver que trucos me pueden compartir...

 "y para ver los colores de alguien primero debes mostrar tus colores"


Título: Re: Querys curiosas... [aporten =P]
Publicado por: Shell Root en 6 Junio 2011, 23:07 pm
mmm  :huh:


Título: Re: Querys curiosas... [aporten =P]
Publicado por: .:UND3R:. en 6 Junio 2011, 23:10 pm
Buena info :D


Título: Re: Querys curiosas... [aporten =P]
Publicado por: Novlucker en 7 Junio 2011, 03:10 am
Y luego descubrirá los campos calculados y las funciones como datediff :D (por ejemplo para mantener la edad actualizada ;))

Saludos


Título: Re: Querys curiosas... [aporten =P]
Publicado por: Nakp en 7 Junio 2011, 07:22 am
esta deberia dar la edad sin tanta vuelta xD (solo mysql ¬¬)

Código
  1. SELECT TIMESTAMPDIFF(YEAR, fecha_nac, NOW()))


Título: Re: Querys curiosas... [aporten =P]
Publicado por: Novlucker en 8 Junio 2011, 00:31 am
A eso iba :xD
Ms SQL
Código
  1. SELECT DATEDIFF(YEAR,fecha_nac,GETDATE())

Saludos