MySQL - Consultas MySQL

 
Vista:
sin imagen de perfil

Consultas MySQL

Publicado por Mendozak (10 intervenciones) el 22/02/2017 17:52:10
Hola muy buenas a todos, es la primera vez que posteo, estoy estudiando mysql y estoy con el tema de las consultas y tengo unas cuantas que no veo manera de poder sacar, a ver si podéis echarme una mano en alguna de ellas.

La base de datos es esta:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
create database tienda character set utf8 collate utf8_general_ci;
use tienda;
create table cliente (
	dni varchar(9) not null,
	nombre varchar(50) not null,
	apellidos varchar(50),
	fecha_nac date not null,
	direccion varchar(100),
	cod_postal integer not null,
	primary key(dni));
create table factura (
	cod_fact varchar(15),
	dni varchar(9) not null,
	fecha_fac date not null,
	importe int,
	primary key (cod_fact));
create table albaran (
	cod_alb varchar(15) not null,
	cod_fact varchar(15) not null,
	fecha_alb date not null,
	cod_art varchar(15) not null,
	cantidad decimal (6,2),
	primary key (cod_alb));
create table articulo (
	cod_art varchar(15) not null,
	descripcion varchar(50),
	precio decimal (6,2),
	stock decimal (6),
	primary key (cod_art));
create table comercial (
	dni varchar(9) not null,
	nombre varchar(30),
	apellidos varchar(50),
	fecha_nac date not null,
	direccion varchar(70),
	cod_postal integer not null,
	primary key (dni));
create table visita (
	dni_cli varchar(9) not null,
	dni_comercial varchar(9) not null,
	fecha_visita date not null,
	primary key (dni_cli, dni_comercial,fecha_visita));
alter table factura add foreign key (dni) references cliente(dni);
alter table albaran add foreign key (cod_fact) references factura (cod_fact),
add foreign key (cod_art) references articulo(cod_art);
alter table visita add foreign key (dni_cli) references cliente (dni),
add foreign key (dni_comercial) references comercial (dni);
 
insert into cliente values ( "11111111A", "Jose", "Perez Perez", "1974/08/01", "C/Lepanto nº25 5º B", "30001");
insert into cliente values ( "22222222B","Maria","Sanchez Sanchez", "1985/03/25","C/Cervantes nº1 2ºA","30001");
insert into cliente values ( "33333333C","Pedro","Martinez Lopez",	"1995/06/10", "C/Medina nº15 1ºC",	"30009");
insert into cliente values ( "44444444D","Juan","Flores Puerta", "1991/04/12" , "C/Velazquez nº20 4ºD", "30008");
 
insert into factura values ("F-0001","11111111A","2012/02/01","2800");
insert into factura values ("F-0002","11111111A","2012/03/02","1500");
insert into factura values ("F-0003","11111111A","2012/08/15","800");
insert into factura values ("F-0004","22222222B", "2013/09/20","3000");
insert into factura values ("F-0005","22222222B","2013/10/02","900");
insert into factura values ("F-0006","33333333C","2013/11/15","2500");
insert into factura values ("F-0007","44444444D","2014/02/02","520");
insert into factura values ("F-0008","44444444D","2015/02/04","2500");
 
insert into articulo values ("ART-10","Elevador potencia","50","50");
insert into articulo values ("ART-80","Condensador RJW","20","200");
insert into articulo values ("ART-77","Placa Base ASUS 1155","50","35");
insert into articulo values ("ART-100","SAI 1500VA-Salicru","500","8");
insert into articulo values ("ART-101","Condensador RJW","20","200");
insert into articulo values ("ART-120","Ventilador led enermax","10","55");
insert into articulo values ("ART-250","Condensador RJW","250","40");
 
 
insert into albaran values ("A-0001","F-0001","2012/01/10","ART-250","10");
insert into albaran values ("A-0002","F-0001","2012/01/20","ART-120","30");
insert into albaran values ("A-0003","F-0002","2012/02/15","ART-100","3");
insert into albaran values ("A-0004","F-0003","2012/04/03","ART-80","25");
insert into albaran values ("A-0005","F-0003","2012/06/15","ART-120","10");
insert into albaran values ("A-0006","F-0003","2012/07/25","ART-77","4");
insert into albaran values ("A-0007","F-0004","2013/09/20","ART-10","50");
insert into albaran values ("A-0008","F-0005","2013/10/02","ART-10","15");
insert into albaran values ("A-0009","F-0006","2013/11/15","ART-100","5");
insert into albaran values ("A-0010","F-0007","2014/02/01","ART-101","1");
insert into albaran values ("A-0011","F-0007","2014/02/02","ART-100","1");
insert into albaran values ("A-0012","F-0008","2015/02/04","ART-100","5");
 
insert into comercial values("55555555E","Berta","Fuertes Ruiz","1980/08/01","C/Medina nº40 3ºA","30008");
insert into comercial values ("66666666F","Luis","Perez Martinez","1983/02/23","C/Picasso nº3 7ºC","30001");
insert into comercial values ("77777777G","Ramon","Lucas Sanchez","1995/06/12","C/Nadal nº14 1ºD","30009");
insert into comercial values ("88888888H","Juana","Lunas Puertas","1991/05/15","C/Colon nº20 4ºD","30007");
 
insert into visita values ("11111111A","66666666F","2012/04/01");
insert into visita values ("11111111A","66666666F","2012/06/01");
insert into visita values ("22222222B","66666666F","2013/05/10");
insert into visita values ("33333333C","55555555E","2014/07/12");
insert into visita values ("33333333C","66666666F","2014/04/12");
insert into visita values ("44444444D","77777777G","2012/02/07");
insert into visita values ("44444444D","66666666F","2013/04/01");
insert into visita values ("44444444D","55555555E","2014/04/15");





Y estas son las consultas en las que me gustaría q pudierais echar una mano:


1. Obtener el DNI, nombre, apellidos y la edad de todos los clientes que sean mayores de 20 años, ordenados por apellidos de manera ascendente.Nota: utiliza las funciones datediff y now() para calcular la edad.

2. Obtener el DNI, dirección y apellidos de todos los clientes cuyo código postal sea 30001, ordenados por apellidos de manera descendente.

3. Obtener todos los datos de los clientes junto con sus facturas.

4. Hallar los datos de la factura o las facturas de fecha más reciente.

5. Hallar los datos de clientes con sus facturas que tengan un importe igual al importe de la máxima factura.

6. Hallar los datos de clientes con sus facturas que tengan un importe mayor o igual que la media de los importes de las facturas.

7. Hallar los datos de clientes a los que se le hayan emitido facturas desde el 1 de enero de 2015.

8. Hallar el dni y la suma de los importes de facturas para cada cliente.

9. Hallar el dni y el importe máximo de la factura emitida para cada cliente.

10. Hallar para cada código postal la suma de los importes de las facturas junto con el código postal, agrupados por código postal.

11. Hallar dni y apellidos junto con la suma de importes de factura para cada cliente.

12. Hallar los dni y apellidos junto con la media de los importes de las facturas para ese cliente pero teniendo en cuenta solo las facturas de más de 1000 euros.

13. Hallar los dni y apellidos junto con la media de los importes de las facturas para ese cliente teniendo en cuenta solo los clientes que tengan una media de importe de facturas de más de 1000 euros.

14. (Subconsulta Correlacionada) Hallar para cada cliente los datos del cliente y la factura de mayor importe para ese cliente.

15. (Subconsulta Correlacionada) Hallar para cada cliente los datos del cliente y la/s factura/s de ese cliente que tengan un importe mayor o igual a la media de los importes de las facturas para ese cliente.

16. (Subconsulta Correlacionada) Hallar los clientes a los que no se ha emitido una factura a partir del 01/01/2015.

17. Resuelve el ejercicio 10 utilizando una subconsulta sin correlación.


Muchas gracias de antemano a todos! Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de SuperIndio
Val: 102
Bronce
Ha aumentado 1 puesto en MySQL (en relación al último mes)
Gráfica de MySQL

Consultas MySQL

Publicado por SuperIndio (79 intervenciones) el 23/02/2017 19:42:09
Cheee!!! Como que se te fue la mano no?
No sera mucho?
Por mi parte te ayudaria, de hecho ya las hice a todas pero postearlas
seria hacer "el caldo gordo", si tiraste todas las consultas
evidentemente no estas interesado en aprender


posteanos puntualmente el query que hiciste y nosotros te decmos donde esta el error...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Consultas MySQL

Publicado por Mendozak (10 intervenciones) el 27/02/2017 21:07:20
Ya se me fue la mano con las consultas, pero esq le estoy echando muchas horas y no veo manera, llevo pocos dias con mysql pero pff no consigo cojerle cuerda. en la consulta 11 podrias echarme una mano?
1
select dni, apellido from cliente, factura where importe in (select sum(importe) from factura);

y disculpen de nuevo por q se me fuera la mano jajaja
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar