MySQL - Duda Consulta SQL

 
Vista:

Duda Consulta SQL

Publicado por Ismael (5 intervenciones) el 10/03/2012 14:20:24
Tengo una duda, y esta es mi situacion:
Supongamos una base de datos y dos tablas: Tabla "seccion" y tabla "articulos"
Dentro de seccion, hay una serie de secciones con las columnas"id, name, color, text1, text2"
Y en articulos tenemos "id, partner_secc, info1, info2, info3, visible, purchase"

En la tabla Seccion, hay un total de 50mil secciones, y en la tabla articulos, hay unos 2.000.000 de artículos. Cada articulo pertenece a una seccion, que despues, en la web, aparecen organizados mediante partner_secc

Por ejemplo, los articulos de partner_secc=423 saldran en la id de la seccion 423.

El problema es que por trabajos internos, hemos borrado bastantes secciones, pero los artículos se han quedado flotando en la nada, ocupando espacio en la base de datos. Lo que pretendo es hacer una consulta en la que se me muestren los articulos cuyo partner_secc pertenecen a una id de seccion inexistente, probé con esto:

SELECT * FROM articulos WHERE partner_secc NOT LIKE (SELECT id FROM seccion)

Pero me da un error que, comprendido, significa que no solo hay 1 ID; y no me lo muestra.

¿Alguien prodria ayudarme?

P.D: Los articulos con partner_secc = 0 pertenecen a una seccion que se llama "Elementos al azar" y, ya que no existe una ID=0 en seccion, tambien se seleccionarian, me gustaria que los articulos pertenecientes a 0 no se seleccionen, para no eliminarlos.

Gracias.
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

Duda Consulta SQL

Publicado por Gonzalo GC (339 intervenciones) el 10/03/2012 17:36:29
1
2
3
SELECT A.*
FROM articulos A LEF JOIN seccion S ON A.partner_secc = S.id
WHERE S.id IS NULL;


SI no conocías esta forma de solución, significa que necesitas profundizar los estudios de SQL. Es un ejemplo de manual basico.
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