
06/12/2007, 20:40
|
 | Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 2 meses Puntos: 2658 | |
Re: lookuptable A ver si lo entendí:
1. Una instancia de un objeto X1 y que se almacena en una tabla Tabla1, cuenta con un ID único e irrepetible.
2. En otra tabla Tabla2 se almacenan registros independientes para la descripción de un conjunto Y2 de atributos del objeto X1.
3. La cantidad de atributos posibles es limitada y puede contar desde 0 a X atributos en la Tabla2, siendo X un numero finito.
4. Lo que quieres saber es qué objetos X1 tienen la totalidad de los atributos posibles.
Si esa es la duda, lo que necesitas es realizar un conteo con selección agrupada por distintos.
Algo como esto:
SELECT T1.XNOMBRE
FROM
(
SELECT DISTINCT X1NOMBRE, COUNT(*) as ATRIBUTOS
FROM TABLA1 INNER JOIN TABLA2 USING (ID)
) AS T1
WHERE ARTIBUTOS = VALOR
GROUP BY X1NOMBRE;
Una consulta así te devuelve un campo indicando el atributo descriptivo del objeto (ID, Nombre, Descripción, etc), solamente de aquellos objetos que tengan una cantidad prefijada de atributos . |