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

Subconsulta

Estas en el tema de Subconsulta en el foro de Bases de Datos General en Foros del Web. Muy buenas, Tengo una base mySQL (3.23.45) con 2 tablas: Noticias -> algunos campos, id_clasificacion Clasificacion -> algunos campos id_clasificacion En una página quiero que ...
  #1 (permalink)  
Antiguo 12/03/2003, 10:44
Avatar de zarate  
Fecha de Ingreso: septiembre-2001
Ubicación: Madrid
Mensajes: 164
Antigüedad: 22 años, 7 meses
Puntos: 0
Subconsulta

Muy buenas,

Tengo una base mySQL (3.23.45) con 2 tablas:

Noticias -> algunos campos, id_clasificacion

Clasificacion -> algunos campos id_clasificacion

En una página quiero que me muestre sólo los apartados que tienen almenos 1 noticia dada de alta . Es decir que no me muestre la clasificación "Noticias de cocina", sino hay noticias de cocina dadas de alta.

Eso creo que lo puedo hacer con JOIN y sus variantes, pero no doy con ello. Alguien sabe exactamente cómo??

Muchas gracias
__________________
Zárate
  #2 (permalink)  
Antiguo 12/03/2003, 11:03
Avatar de zarate  
Fecha de Ingreso: septiembre-2001
Ubicación: Madrid
Mensajes: 164
Antigüedad: 22 años, 7 meses
Puntos: 0
Estoy probando con esto pero no es exactamente lo que quiero:

SELECT clasificacion.id_clasificacion, clasificacion.clasificacion, noticias_principal.id_clasificacion FROM clasificacion LEFT JOIN noticias_principal ON clasificacion.id_clasificacion = noticias_principal.id_clasificacion ORDER BY clasificacion ASC

Esto me duplica la entradas, es decir, si tengo 5 noticias de X, me muestra en el select X 5 veces...

Help!!!
__________________
Zárate
  #3 (permalink)  
Antiguo 12/03/2003, 11:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
prueba:

SELECT DISTICT clasificacion ........

Un saludo,
  #4 (permalink)  
Antiguo 12/03/2003, 11:50
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Prueba esto :

SELECT DISTINCT c.id_clasificacion, c.clasificacion, n.id_clasificacion
FROM clasificacion c
LEFT JOIN noticias_principal n
USING (id_clasificacion)
WHERE n.id_clasificacion IS NOT NULL
ORDER BY clasificacion ASC

Saludos.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #5 (permalink)  
Antiguo 12/03/2003, 13:03
Avatar de zarate  
Fecha de Ingreso: septiembre-2001
Ubicación: Madrid
Mensajes: 164
Antigüedad: 22 años, 7 meses
Puntos: 0
plas, plas, plas (¿dónde está el emoticón que aplaude, alguna vez lo he visto?).

Reviso mi libro de mySQL y no encuentro "SELECT DISTINCT", me daré una vuelta por www.mysql.com, en fin.

Perfecto maestros, siempre al quite, sí señor. Muchas gracias.
__________________
Zárate
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 13:44.