jueves, 17 de marzo de 2011

Soluciones T04

T04.001- Toda la información de los pedidos anteriores a octubre de 2010.
select * from pedido where fecha < '2010-10-01';

T04.002- Toda la información de los pedidos posteriores a agosto de 2010.
select * from pedido where fecha > '2010-08-31';

T04.003- Toda la información de los pedidos realizados entre agosto y octubre de 2010.
select * from pedido where fecha > '2010-07-31' and fecha < '2010-11-01';

T04.004- Toda la información de los pedidos realizados el 3 de marzo o el 27 de octubre de 2010.
select * from pedido where fecha = '2010-03-03' or fecha = '2010-10-27';

T04.005- Toda la información de los pedidos realizados el 3 de marzo o el 27 de octubre de 2010, y que han sido realizados por usuarios del dominio "cazurren"
select * from pedido
where (fecha = '2010-03-03' or fecha = '2010-10-27')
and usuario like '%@cazurren.%';

T04.006- ¿En qué día y hora vivimos?
select now();

T04.007- 21 de febrero de 2011 en formato dd/mm/aaaa
select date_format('2011-02-21','%d/%m/%Y') fecha;

T04.008- 31 de febrero de 2011 en formato dd/mm/aaaa
select date_format('2011-02-31','%d/%m/%Y') fecha;

T04.009- Pedidos realizados el 13.9.2010 (este formato, obligatorio en la comparación).
select * from pedido
where fecha = str_to_date('13.9.2010','%d.%m.%Y');

T04.010- Numero y fecha de los pedidos realizados el 13.9.2010 (este formato, obligatorio tanto en la comparación como en la salida).
select numpedido, date_format(fecha,'%d.%m.%Y') fecha
from pedido
where fecha = str_to_date('13.9.2010','%d.%m.%Y');

T04.011- Numero, fecha, y cliente de los pedidos (formato dd.mm.aa) ordenado descendentemente por fecha y ascendentemente por cliente.
select numPedido,date_format(fecha,'%d.%m.%Y') lafecha,usuario
from pedido
order by fecha desc,usuario;

T04.012- Códigos de articulos solicitados en 2010, eliminando duplicados y ordenado ascendentemente.
select distinct li.articulo
from linped li,pedido pe
where li.numPedido=pe.numPedido AND month(fecha)=3 AND year(fecha)=2010
order by articulo;

T04.013- Códigos de articulos solicitados en pedidos de marzo de 2010, eliminando duplicados y ordenado ascendentemente.
select distinct l.articulo
from pedido p, linped l
where p.fecha between '2010-03-01' and '2010-03-31' and p.numPedido=l.numPedido
order by articulo asc;

T04.014- Códigos de articulos solicitados en pedidos de septiembre de 2010, y semana del año (la semana comienza en lunes) y año del pedido, ordenado por semana.
select articulo,week(fecha) semana,year(fecha) año
from linped l,pedido p
where l.numpedido=p.numpedido and fecha between '2010/09/01' and '2010/09/31'
order by semana;

T04.015- Nombre, apellidos y edad (aproximada) de los usuarios del dominio "dlsi.ua.es", ordenado descendentemente por edad.
select nombre,apellidos,(year(now())-year(nacido)) edad
from usuario
where email LIKE '%@dlsi.ua.es'
order by edad desc;

T04.016- Email y cantidad de días que han pasado desde los pedidos realizados por cada usuario hasta la fecha de cada artículo que ahora mismo hay en su cesta. Eliminad duplicados.
select distinct p.usuario, DATEDIFF(p.fecha,c.fecha)
 from pedido p , cesta c
where (p.usuario= c.usuario);

T04.017- Información sobre los usuarios menores de 25 años.
select * from usuario
where year(now())-year(nacido)<25;

T04.018- Número de pedido, usuario y fecha (dd/mm/aaaa) al que se le solicitó para los pedidos que se realizaron durante la semana del 7 de noviembre de 2010.
select numpedido, usuario, date_format(fecha, '%d/%m/%Y') fecha
from pedido
where weekofyear(fecha)=weekofyear('2010-11-07');

No hay comentarios:

Publicar un comentario