Se ha comentado que, en presencia de contexto de filtro, el modelo de datos no se está filtrando. Sin embargo, las relaciones entre las tablas del modelo de datos siguen activas, y esto nos permite -durante la iteración de la tabla- acceder a los valores de las tablas relacionadas con la fila que se esté iterando.
Y aquí la pregunta a hacerse es: desde una fila de la tabla que estamos iterando ¿podemos acceder a una única fila de una tabla relacionada? ¿O a más de una fila?
Por ejemplo, echemos un vistazo a las tablas de Category, Subcategory y Products. Ésta es la tabla de categorías:
Esta tabla contiene un identificador de categoría (clave principal de la tabla) y el nombre de la categoría.
Esta tabla es la de subcategorías:
Vemos que cada fila incluye un identificador de subcategoría (clave principal), el nombre de la subcategoría y el identificador de la categoría a la que pertenece (clave externa de la relación entre esta tabla y la de categorías). Es decir, una subcategoría tiene una y solo una categoría asociada. Por ejemplo, la subcategoría “Servers” (primera fila) está asociada a la categoría cuyo identificador es 1 (Hardware).
Y aquí tenemos algunas filas de la tabla de productos:
Esta tabla contiene, entre otros campos, un identificador de la subcategoría a la que pertenece (campo SubCategory Id, clave externa de la relación entre esta tabla y la de subcategorías). Es decir, un producto tiene asociada una y solo una subcategoría. Por ejemplo, el producto que aparece en la primera fila (cuyo Product name es “P001-Intel-R”) tiene asociada la subcategoría cuyo identificador es 2:
subcategoría que, como hemos visto en una captura de pantalla anterior, es la subcategoría “Monitors” que, a su vez, tiene asociada la categoría cuyo identificador es 1 (la categoría “Hardware”):