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

Comparar dos tablas o arrays y mostrar contenido de una!

Estas en el tema de Comparar dos tablas o arrays y mostrar contenido de una! en el foro de Mysql en Foros del Web. Se trata de un Catalogo, tengo una tabla categorías y otra catalogo, en categorías guardo los nombres de ellas y subcategorías además, de sus índices. ...
  #1 (permalink)  
Antiguo 04/09/2007, 05:16
 
Fecha de Ingreso: julio-2006
Mensajes: 25
Antigüedad: 17 años, 8 meses
Puntos: 1
Comparar dos tablas o arrays y mostrar contenido de una!

Se trata de un Catalogo, tengo una tabla categorías y otra catalogo, en categorías guardo los nombres de ellas y subcategorías además, de sus índices.
Quiero mostrar las subcategorias en pantalla y que a su vez me diga si tienen productos dentro o no.

el problema es este:

tabla1 (Catalogo):
"SELECT Categoria, COUNT(*) AS subtotal FROM Catalogo GROUP BY Categoria";

la consulta devuelve una tabla de este tipo

Categoria - Subtotal
25 - 5
12 - 4
13 -8
16 -6

(Significa por ejemplo que la categoría 25 aparece 5 veces en el catalogo, y la 12, 4 veces)

ahora hago una consulta a otra tabla que contiene los mismos números de categorias, más categorías que no están en el catalogo:

Tabla2 (Categorias)
"SELECT id_categoria, nombre_categoria FROM TablaCategorias"

lo que muestra
id_categoria - nombre_categoria
12 - zapatos
13 - chanclas
14 - sombreros
20 - Calcetines
25 - etc...
16 - etc....

ahora quiero recorrer esta última tabla, y comparar si coinciden id_categoria y Categoría, si es así añadir el Subtotal en la salida, es decir así:

12 - zapatos (4)
13 - chanclas (8)
14 - sombreros (0)
20 - Calcetines (0)
25 - etc... (5)
16 - etc.... (6)

Véase que se muestra un (0) cuando no existe coincidencia.

Yo sé hacerlo de forma que solo se muestren las categorías con elementos en el catalogo, pero este otro método permite ver al usuario que categorías existen pero no tienen valores en el catalogo

intente un método de anidar dos bucles, pero me salían los resultados repetidos y muchas más veces, imaginaros que son dos arrays y que los quiero comparar, la idea es esa, adiós al SQL.... la consulta ya fue realizada y estos son sus valores.

Es muy fácil explicarlo, pero no me doy cuenta como se hace... quizá alguien ya tiene experiencia con este tipo de cosas, gracias :)
  #2 (permalink)  
Antiguo 04/09/2007, 08:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Comparar dos tablas o arrays y mostrar contenido de una!

Tema trasladado a MySQL.

Porfavor publica en los foros correctos.
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:26.