Объединение 2 SQL запросов в один запрос - PullRequest
0 голосов
/ 05 марта 2020

Мне нужна помощь с запросом SQL. Я пытаюсь использовать предложение «IN» для получения результатов из нескольких условий где.

Это запрос:

SELECT ID,LOCALCODE,STRING 
FROM SSODEV.TRANSLATION 
WHERE STRINGKEY IN (SELECT DESCRIPTIONKEY 
                    FROM SSODEV.APPFIELD 
                    WHERE APPLICATIONID='a6e60e4d-e9ca-4a48-aa7f-0eb4d40ab260',
                    SELECT DISPLAYNAMEKEY 
                    FROM SSODEV.APPFIELD 
                    WHERE APPLICATIONID='a6e60e4d-e9ca-4a48-aa7f-0eb4d40ab260');

Однако для вышеизложенного я получаю ошибку

DB2 SQL Ошибка: SQLCODE = -104, SQLSTATE = 42601, SQLERRMC = ,; 8-aa7f-0eb4d40ab260 '; INTERSECT, DRIVER = 4.13.127`

Мое намерение чтобы получить один запрос для следующих 2 запросов

select * 
from SSODEV.TRANSLATION 
where stringkey = 'appField.e3c94305-84b4-4190-9040-244429a3c0f0.description'

select * 
from SSODEV.TRANSLATION 
where stringkey = 'appField.e3c94305-84b4-4190-9040-244429a3c0f0.name'

"ключ строки" для запроса 1 и запроса 2 происходит из таблицы SSODEV.APPFIELD с именами столбцов DISPLAYNAMEKEY и DESCRIPTIONKEY. Следовательно, их тоже нужно получить

Ответы [ 2 ]

1 голос
/ 05 марта 2020

Вы можете попробовать этот запрос:

select *
from SSODEV.TRANSLATION
where stringkey in ('appField.e3c94305-84b4-4190-9040- 
244429a3c0f0.description',
                    'appField.e3c94305-84b4-4190-9040-244429a3c0f0.name'
                   )
0 голосов
/ 05 марта 2020

@ Сурадж после вашего комментария: Тогда вы можете попробовать

SELECT ID,LOCALCODE,STRING 
FROM SSODEV.TRANSLATION 
WHERE STRINGKEY IN ((SELECT DESCRIPTIONKEY 
                FROM SSODEV.APPFIELD 
                WHERE APPLICATIONID in('a6e60e4d-e9ca-4a48-aa7f-0eb4d40ab260','a6e60e4d-e9ca-4a48-aa7f-0eb4d40ab260')));

или, альтернативно, вы можете попробовать присоединиться ко второму столу:

SELECT ID,LOCALCODE,STRING 
FROM SSODEV.TRANSLATION 
left join SSSODEV.APPFIELD on SSODEV.APPFIELD.DESCRIPTIONKEY = SSODEV.TRANSLATION.STRINGKEY
WHERE APPLICATIONID IN ('a6e60e4d-e9ca-4a48-aa7f-0eb4d40ab260','a6e60e4d-e9ca-4a48-aa7f-0eb4d40ab260');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...