Actividades Formativas? | Curso SQL?
Cambiamos el formato y el orden de una cadena
SELECT CONCAT(substring(fechapedido,7,2),'/',substring(fechapedido,5,2),'/',left(fechapedido,4)) FROM `pedido`
UPDATE pedido SET fechapedido=concat(substring(fechapedido,7,2),'/',substring(fechapedido,5,2),'/',left(fechapedido,4))
UPDATE pedido
SET fechaentrega2 = CONCAT(LEFT(fechaentrega,4),'-',
SUBSTRING(fechaentrega,5,2),'-',SUBSTRING(fechaentrega,7,2))
WHERE LENGTH(fechapedido) > 8
Clientes con pedidos con importe superior a 500 euros
SELECT nombrecompañía,cargo FROM cliente INNER JOIN pedido ON cliente.idcliente=pedido.idcliente
WHERE cargo > 500 ORDER BY cargo DESC
Los empleados con sus jefes
SELECT concat(empleado.nombre,' ',empleado.apellidos) as 'nombre empleado',
concat(jefe.nombre,' ',jefe.apellidos) as 'nombre jefe'
FROM `empleado` left join empleado as jefe
on empleado.jefe=jefe.idempleado
order by 'nombre jefe'
Nombre de la compañía que ha hecho el cargo más grande
Esta consulta no funciona porque MAX es una función agrupada y «nombrecompañía no está agrupada:
SELECT nombrecompañía, MAX(cargo) FROM cliente,pedido
WHERE cliente.idcliente = pedido.idcliente
Esta sin funciona:
select nombrecompañía,cargo from pedido,cliente
where cliente.idcliente=pedido.idcliente
and cargo in (select max(cargo) from pedido)
Compañías que no han hecho compras en la primera mitad del año 98
SELECT nombrecompañía FROM cliente WHERE idcliente
NOT IN (SELECT idcliente FROM pedido
WHERE fechaentrega2
BETWEEN '1998–01–01' AND '1998–06–31')