Explicado con un ejemplo. Vamos a
suponer que los CodParque se forman con "Cpa" + 4 dígitos y los CodPeticion se forman con "CPe" + 4 dígitos.
Imagina que haces la primera parte de la intersección. Así obtienes el CodParque de los parques que se llamen C.campo y que hayan recibido alguna petición. Y los CodParque obtenidos son (por ejemplo):
Y ahora vamos a hacer la segunda parte de tu intersección. Con ello obtienes los CodPeticion de las peticiones de gravedad 7 y que han sido recibidas por algún parque. Y esto nos da como resultado los siguientes CodPeticion (por ejemplo):
CPe0005
CPe0008
CPe0010
CPe0015
Y tu solución es la intersección de ambos (cosa que te adelanto que no se puede hacer porque estás trabajando con campos diferentes CodParque por un lado y CodPeticion por otro... Pero supongamos que se puede hacer la intersección) que es: NADA. 0. Mejor dicho {Vacio}. No hay ninguna coincidencia entre una tabla y otra.
Hay dos formas de hacer esto:
(PI(CodPeticion)(SIGMA(Nombre = C.campo)(Parque) JOIN Recibe) INTERSECT (PI(CodPeticion)(SIGMA(gravedad = 7)(Peticion))
Empecemos por la premisa de que CodPeticion es un atributo/campo/columna identificativa/discriminante/clave (porque lleva #). Esto significa que cualquier petición se puede identificar con saber su CodPeticion o que no existen dos peticiones con el mismo CodPeticion.
La primera parte de la intersección obtiene los CodPeticion de todas las peticiones que haya recibido el parque C.campo. Por ejemplo, siguiendo con el ejemplo de antes:
Esos son los CodPeticion de todas las peticiones que han recibido los parques con nombre C.campo. Ahora de todos esos tenemos que ver los que tienen gravedad 7. Entonces con la segunda parte de la intersección obtenemos los CodPeticion de todas las peticiones con gravedad 7. Que son, por ejemplo:
Ahora si hacemos la intersección entre ambos resultados, obtenemos los CodPeticion de todas las peticiones de gravedad 7 que han recibido los parques C.campo.
Recalco que la JOIN entre Parque y Recibe se hace por medio de CodParque (campo que tienen ambas en común).
En este método no me voy a explayar tanto. La primera parte es igual (JOIN entre Parque y Recibe) pero lo que hacemos es otra JOIN de esas dos con Peticion (por medio de CodPeticion).
PI(Peticion.CodPeticion)(SIGMA(gravedad = 7)(Parque JOIN Recibe JOIN Peticion)
En el campo del PI hay que especificar una tabla, bien Recibe o bien Peticion porque ambas tienen el campo CodPeticion pero el resultado es el mismo ya que el CodPeticion tiene que coincidir en ambas.
Así tal cual esta consulta es peor porque trabaja con mayor cantidad de datos ya que hemos dejado los SIGMAs y PIs para el final pero eso hace que la consulta quede más simple.
Ahora ya papel y boli (o lo que prefieras) y a leer todos los mensajes de este tema con todos los ejemplos que he ido poniendo hasta entenderlo. Creo que ya tienes ejemplos y explicaciones de sobra.
(PI(CodPeticion)(SIGMA(Nombre = C.campo)(Parque) JOIN Recibe) INTERSECT (PI(CodPeticion)(SIGMA(gravedad = 7)(Peticion))
(PI(CodPeticion) de la parte de la izquierda de la intersección, sería de la tabla recibe?