Bases de Datos - consulta en una tabla

 
Vista:

consulta en una tabla

Publicado por fran (3 intervenciones) el 12/06/2018 17:32:16
Hola, tengo una duda en una consulta.

la tabla es la siguiente: COCHE , con los atributos ( IC = identificador coche, C = coche, M = marca y T = tipo)

ejemplo: el coche C, de la marca M, es de tipo T y tiene como identificador IC.
el coche CORDOBA, de la marca SEAT, es de tipo eléctrico tiene el identificador 100

quiero hacer una consulta SQL con la cual saque las marcas de coches con SOLO coches de tipo gasolina.


Gracias por la 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
sin imagen de perfil
Val: 22
Ha aumentado su posición en 2 puestos en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

consulta en una tabla

Publicado por Cesar (7 intervenciones) el 12/06/2018 17:37:07
Hola.

Puedes hacer un SELECT DISTINCT.

1
SELECT DISTINCT M FROM COCHE WHERE T='Gasolina'
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

consulta en una tabla

Publicado por fran (3 intervenciones) el 12/06/2018 17:47:14
Hola, gracias por la respuesta, yo pensé que era así también, pero no lo es.

ejemplo, tengo dos marcas de coches seat y toyota, en seat tengo dos tipos de coches (electricos y gasolina), mientras que en toyota tengo solo de tipo gasolina.

al hacer tu consulta me salen seat y toyota ya que las dos marcas son distintas y tienen un tipo de gasolina.

me tendría que salir SOLO toyota ya que es la marca que SOLO tiene de tipo Gasolina
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
Imágen de perfil de Gustavo
Val: 2
Ha disminuido su posición en 9 puestos en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

consulta en una tabla

Publicado por Gustavo (1 intervención) el 21/07/2018 23:26:54
Yo lo haría así siguiendo tus indicaciones

SELECT marca (serian lo que te devolvera como resultado)
FROM coche (sería la tabla a consultar)
WHERE T='Gasolina'; (Esta es la condición de la consulta)

Pero lo que tu quieres que SOLO te devuelva la marca TOYOTA lo que a mi parecer es difícil ya que en la tabla tienes dos marcas pero una de esas marcas tiene datos similares a la otra marca (tipo de combustible) lo cual lleva a que cuando tu realices la consulta te devolverá las dos marcas porque en las dos marcas hay carros con el mismo tipo de combustible (gasolina) y eso es correcto. ¿Me hago entender?
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
Imágen de perfil de Panchove
Val: 107
Bronce
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

consulta en una tabla

Publicado por Panchove (33 intervenciones) el 22/07/2018 20:32:31
Para esto tienes aque apoyarte en subconsultas

Crea la siguiente vista
1
2
3
4
5
6
CREATE VIEW Q_COCHES_GE AS
SELECT DISTINCT
COCHES.M,
(SELECT COUNT(*) FROM COCHES AS C WHERE C.M=COCHES.M AND T="Gasolina") AS Gasolina,
(SELECT COUNT(*) FROM COCHES AS C WHERE C.M=COCHES.M AND T="Electrico") AS Electrico
FROM COCHES;

luego

1
2
3
SELECT IC, 	C, 	M, 	T
FROM COCHES
WHERE M IN ( SELECT M FROM Q_COCHES_GE  AS T 	WHERE T.Electrico=0 );


Saludos
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