У меня возникли трудности с объединением одних и тех же таблиц, из-за которых возвращаемые результаты полностью неверны.SQL Query - множественные объединения
Приведенный ниже запрос работает очень хорошо. Однако я хочу изменить его так, чтобы я мог вернуть дополнительный столбец Requirement Type
, используя значение, возвращаемое в столбце Requirement Traced To
.
SELECT R.RQ_REQ_ID as "Requirement Traced From",
R.RQ_REQ_NAME as "Requirement Name",
RTY.TPR_NAME as "Requirement Type",
RTR.RT_TO_REQ_ID as "Requirement Traced To"
FROM REQ R
LEFT JOIN REQ_TRACE RTR
ON R.RQ_REQ_ID = RTR.RT_FROM_REQ_ID, Req_Type RTY
WHERE R.RQ_TYPE_ID = RTY.TPR_TYPE_ID
AND RTY.TPR_NAME in ('TOM', 'Business Process Map', 'Work Instruction', 'Functional', 'Customer Journey', 'Business')
ORDER BY 1
Когда я добавляю REQ
и REQ_TYPE
таблицы во второй раз с различными псевдонимами я получаю сотни строк, возвращенных вместо 28 я ожидал.
Любая помощь будет оценена по достоинству.
Не смешивать явно присоединяется старый стиль разделенные запятой соединения. Это просто слишком запутанно. – jarlh
Вы уже выбрали эти два столбца. Что вы действительно хотите сделать? –
Я хочу вернуть все строки из таблицы REQ и затем присоединиться к таблице REQ_TRACE, где есть соответствие между REQ.RQ_REQ_ID и REQ_TRACE.RT_FROM_REQ_ID. Для строк, которые соответствуют, я хочу вернуть Тип требования для столбцов R.RQ_REQ_ID и RTR.RT_TO_REQ_ID, который находится в таблице REQ_RYPE. Второе соединение с использованием RTR.RT_TO_REQ_ID в таблице REQ - это то, что меня сбивает с толку. – Gray