Ayuda con consulta SQL
Publicado por rp27 (1 intervención) el 30/10/2019 15:02:05
Hola, tengo estas dos tablas:
Y tengo que hacer la siguiente consulta:
Buscar los clientes (identificador, nombre y apellidos) que tengan mas de 2 reservas.
Tengo esto:
Pero creo que no esta bien.
Alguien puede ayudarme?
Gracias.
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
CREATE TABLE mobilitat.reserves
(
id_reserva serial NOT NULL,
fk_client integer NOT NULL,
fk_moto integer NOT NULL,
data_inici date,
data_fi date,
import real,
CONSTRAINT pkreserves PRIMARY KEY (id_reserva),
CONSTRAINT fkclient FOREIGN KEY (fk_client)
REFERENCES mobilitat.clients (id_client) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT fkmoto FOREIGN KEY (fk_moto)
REFERENCES mobilitat.motos (id_moto) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE CASCADE
);
CREATE TABLE mobilitat.clients
(
id_client serial NOT NULL,
dni character varying(10) NOT NULL,
nom character varying(30) NOT NULL,
cognoms character varying(60) NOT NULL,
telefon character varying(15) NOT NULL,
email character varying(20) NOT NULL,
CONSTRAINT pkclient PRIMARY KEY (id_client),
CONSTRAINT clients_dni_key UNIQUE (dni)
);
Y tengo que hacer la siguiente consulta:
Buscar los clientes (identificador, nombre y apellidos) que tengan mas de 2 reservas.
Tengo esto:
1
2
3
4
select id_client, nom, cognoms from clients
where (select count(fk_client) total from reserves
group by fk_client
limit 1 ) > 2 ;
Pero creo que no esta bien.
Alguien puede ayudarme?
Gracias.
Valora esta pregunta


0