Bases de Datos - Ayuda con una consulta SQL de examen

 
Vista:

Ayuda con una consulta SQL de examen

Publicado por dsoto1 (2 intervenciones) el 17/07/2001 12:36:57
Tengo dos tablas: CLIENTES (dni, nombre_cliente, localidad) y MOVILES (numero_movil, dni, baja)
En la tabla clientes se almacenan los datos atomicos de los clientes, y en la tabla moviles se almacenan los numeros de telefono movil que el cliente tiene contratados, un cliente puede tener muchos moviles contratados. El campo baja de la tabla moviles tiene formato texto 1 caracter y almacena 3 posibles valores:

'N' : significa que ese movil no esta dado de baja
'S' : significa que ese movil esta dado de baja modalidad S
'C' : significa que ese movil esta dado de baja modalidad C

Por abreviar vamos a tomar el convenio de que el campo baja tiene dos posibles valores ='N' y distinto de 'N'. Osea esta dado baja o no esta dado de baja.

La consulta que quiero realizar es la siguiente:

Dame una relacion con DNI, nombre del cliente, localidad ordenada por localidad y nombre de cliente, de aquellos clientes que ya no son clientes, es decir, que tuvieron moviles contratados pero todas las tuplas son ='N', osea no les queda ni un solo movil de alta.

Osea la consulta tendra que agrupar por DNI y comprobar que a cada DNI todas las tuplas son baja='N'

es de examen.
Gracias por vuestra ayuda.
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

RE:Ayuda con una consulta SQL de examen

Publicado por José Carlos García (6 intervenciones) el 17/07/2001 14:27:36
Prueba esto (no lo he probado):
SELECT clientes.dni, nombre_cliente, localidad
FROM clientes
WHERE clientes.dni IN (SELECT dni
FROM moviles
WHERE baja <> 'N')
ORDER BY localidad;

Un saludo

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

RE:Ayuda con una consulta SQL de examen

Publicado por dsoto1 (2 intervenciones) el 17/07/2001 22:04:17
Gracias por la respuesta pero me temo que eso no hace la consulta deseada. La consulta que me dices te da una relacion de aquellos dni que al menos han causado baja de 1 movil. Pero por ejemplo un determinado dni puede haber contratado 5 moviles y haber dado de baja 1 y me apareceria en la consulta como que ya no es cliente cuando es falso sigue siendo cliente de 4 moviles.
Espero ayuda.
Gracias.
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