У меня есть проблема с ниже запросом, в главном ВЫБОР значение ENTITY_ID не может быть восстановлен, так как я использую, как я получить больше одиночный результат задний. Как я могу это преодолеть? Если я поместить внутренний ВЫБРАТЬ, такие как:PLSQL более одной строки, возвращаемой вопрос в поле ИД
(
SELECT
SEC_NN_SERVER_T.SRV_ID
FROM
SEC_NN_SERVER_T
WHERE
UPPER(SEC_NN_SERVER_T.SRV_NAME) LIKE UPPER('%gen%')) AS ENTITY_ID,
я получаю ту же ошибку:
«ОР-01427: однорядный подзапрос возвращает более одной строки».
Он является полный запрос:
SELECT DISTINCT
SEC_USER.USR_ID AS USR_ID,
SEC_USER.USR_FIRST_NAME AS USR_FIRST_NAME,
SEC_USER.USR_LAST_NAME AS USR_LAST_NAME,
SEC_USER_PRIV.ROLE_ID AS SYSTEM_ROLE_ID,
21 AS ENTITY_TYP_CODE,
(
SELECT
SEC_NN_SERVER_T.SRV_ID
FROM
SEC_NN_SERVER_T
WHERE
UPPER(SEC_NN_SERVER_T.SRV_NAME) LIKE UPPER('%gen%')) AS ENTITY_ID
FROM
SEC_USER_PRIV,
SEC_USER
WHERE
SEC_USER.USR_ID = SEC_USER_PRIV.USR_ID
AND ((
SEC_USER_PRIV.ENTITY_TYP_CODE = 21
AND SEC_USER_PRIV.ENTITY_ID IN (
(
SELECT
SERVER_T.SRV_ID
FROM
SERVER_T
WHERE
UPPER(SERVER_T.SRV_NAME) LIKE UPPER('%gen%')))))
Пожалуйста помогите заранее спасибо.
Я рассмотрел использование LISTAGG, но это не соответствует моим потребностям. То же самое для MAX, поскольку оно вернет только один из существующих идентификаторов. –
@DavidFaiz. , , Вы должны задать другой вопрос, предоставив образцы данных, желаемые результаты и логику, которую вы хотите реализовать. –