Я работаю над базой данных оракула, и я хочу получить данные из 2-х таблиц. поэтому я использую для этого объединение. Мои таблицы, как показано ниже,Левое внешнее соединение не работает, как ожидалось, в oracle
CUSTOMER_DTLS_TBL
CUST_ID CUST_CODE
68 A2157021570
CUSTOMER_MAPPING_TBL
ID AMOUNT CUST_ID CODE PID
1 200 68 A2157021570 383
2 800 68 A2157021570 392
// NO RECORD FOUND
SELECT CDT.CUST_ID,CDT.CUST_CODE,CMT.AMOUNT,CMT.PID
FROM CUSTOMER_DTLS_TBL CDT, CUSTOMER_MAPPING_TBL CMT
WHERE CDT.CUST_ID = CMT.CUST_ID(+)
AND CMT.PID = 383;
// 1 RECORD FOUND
SELECT CDT.CUST_ID,CDT.CUST_CODE,CMT.AMOUNT,CMT.PID
FROM CUSTOMER_DTLS_TBL CDT, CUSTOMER_MAPPING_TBL CMT
WHERE CDT.CUST_ID = CMT.CUST_ID(+)
AND CMT.PID = 392;
мой ожидаемый выход, когда я запускаю первый запрос является:
68 A2157021570 200 383
Вы пытались написать фактическое соединение вместо (+)? –
Вы попробовали это - 'CMT.PID (+) = 383'. Решите, является ли этот столбец частью предложения JOIN или FILTER. Его всегда лучше указывать на объединения и условия ON. – Manuel
Да, я попробовал. Но это не работает. –