¿Cómo creo una tabla / consulta de referencias cruzadas para mis datos?

Tengo dos tablas simples en mi base de datos. Una tabla de "cartas" que contiene Id, Nombre y texto de una carta, y una tabla de "reglas" que contiene la Id de la carta, y un texto que detalla las reglas de la carta.

A menudo, en el texto del fallo, hay una referencia a otra tarjeta en la base de datos. Es bastante fácil encontrar esto en el texto porque cada tarjeta está encapsulada entre comillas en el texto. No es raro tener varias cartas referenciadas dentro del texto de la sentencia.

Lo que me gustaría hacer es poder crear una tabla de referencia cruzada (o procedimiento si es lo suficientemente eficiente) para que cuando envíe una consulta para una tarjeta, pueda encontrar todos los registros de resolución que hacen referencia directa a la tarjeta a través del Id y obtener todos los registros de decisiones donde se hace referencia al nombre de la tarjeta en el texto.

¿Cuál sería la mejor manera de abordar esto? Mi entorno es SQL 2005, pero aquí se acepta cualquier tipo de solución "independiente de DB".

Respuestas a la pregunta(2)

Su respuesta a la pregunta