Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

subconsultas

Estas en el tema de subconsultas en el foro de Bases de Datos General en Foros del Web. Tengo dos tablas en mi base de datos: autos y marcas. La tabla marcas tiene solo dos campos: id_marca, nombre_marca. La tabla auto tiene tres: ...
  #1 (permalink)  
Antiguo 20/09/2004, 07:36
 
Fecha de Ingreso: abril-2004
Mensajes: 260
Antigüedad: 20 años
Puntos: 1
subconsultas

Tengo dos tablas en mi base de datos: autos y marcas.
La tabla marcas tiene solo dos campos: id_marca, nombre_marca. La tabla auto tiene tres: id_auto, id_marca, nombre_auto.
Quiero listar las marcas que tengan un auto asignado. Puede haber marcas que no tengan ningun auto y esas no quiero que aparezcan en mi listado.
Tendria que hacer una subconsulta, pero no recuerdo como hacerlo.
Alguien sabe como hacerlo directamente en un query?.
Se hacerlo de otras maneras pero esta me parece la mejor.

Muchas gracias.
__________________
:serio: :adios:
  #2 (permalink)  
Antiguo 20/09/2004, 07:42
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Asumiendo MySQL, http://dev.mysql.com/doc/mysql/en/Re...ubqueries.html

Saludos.

PD: Como pides la solucion SQL, no tiene que ver con PHP. Muevo al foro correspondiente.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 20/09/2004, 07:49
 
Fecha de Ingreso: abril-2004
Mensajes: 260
Antigüedad: 20 años
Puntos: 1
asi?

Seria correcto entonces hacer esto?:
"SELECT * FROM marcas WHERE id_marca IN (SELECT id_marca FROM autos);"

Por que lo probe y no funciona.
__________________
:serio: :adios:
  #4 (permalink)  
Antiguo 20/09/2004, 07:58
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Depende de la version de tu base de datos. En MySQL anterior a 4.x no se pueden usar subquerys (mira el link para alternativas con join).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 20/09/2004, 12:36
 
Fecha de Ingreso: septiembre-2004
Mensajes: 30
Antigüedad: 19 años, 8 meses
Puntos: 0
Creo que esta es la query que buscas:

SELECT distinct(nombre_marca)
FROM autos a, marcas b
WHERE a.id_marca = b.id_marca

Un saludo
Victor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:28.