Ejecuta por separado estas querys:
SELECT COUNTRY_ID FROM COUNTRIES WHERE REGION_ID=PRI_REGION;SELECT LOCATION_ID FROM LOCATIONS WHERE COUNTRY_ID=PRI_COUNTRIES;SELECT DEPARTMENT_ID FROM DEPARTMENTS WHERE LOCATION_ID=PRI_LOCATIONS;SELECT EMPLOYEE_ID FROM EMPLOYEES WHERE DEPARTMENT_ID=PRI_DEPARTMENTS;
Ejecuta una por una cada sentencia, si alguna de esas sentencias te devuelve mas de una fila, quiere decir que debes reformular tu sentencia, esto es debido a que una variable en mysql puede contener unica y exclusivamente un valor ya sea varchar, int, etc...
Una solucion puede ser utilizar GROUP BY
al final del WHERE
para poder obtener un solo valor, y no varias filas con el mismo valor que necesitas, aqui te pongo un ejemplo de como podria ir la sentencia:
SELECT COUNTRY_ID FROM COUNTRIES WHERE REGION_ID=PRI_REGION GROUP BY COUNTRY_ID;
Esa sentencia puede que te traiga mas de una fila, por ponerte un ejemplo:
Imagina que hay 3
"COUNTRIES"
que estan en la misma region (esperohaber entendido bien), pues sin elGROUP BY
, ahi lo que estashaciendo es mostrar 3 filas, y como solo se muestra elCOUNTRY_ID
.conGROUP BY
, haras que los valores repetidos se agrupen, y formaran una sola fila, con un solo valor.
as variables de mysql, solo permiten un solo valor. Por lo que ese puede ser el error que te aparece.