Пожалуйста, найдите нижеприведенную проблему и подтвердите ее.
Шаг-01: На основе условия соединения, получение значения из таблицы и заполнения.Поскольку в таблице B нет совпадающих значений, все столбцы заполняются значением NULL.
Столбец: B.OP_TYPE, B.DEMO_ID
ksql> SELECT PLAN_ID,A_OP_TYPE,B.OP_TYPE,A.PRIMARY_DEMO_ID,B.DEMO_ID \
FROM TBL_PLN_PRO_DIV_SDIV A \
LEFT JOIN TBL_MS_TARGET_GROUP11 B \
ON (A.PRIMARY_DEMO_ID=B.DEMO_ID);
382591 | U | null | 3085 | null
Тот же запрос выбора, где условие дает тот же результат, что и ожидалось.
ksql> SELECT PLAN_ID,A_OP_TYPE,B.OP_TYPE,A.PRIMARY_DEMO_ID,B.DEMO_ID \
FROM TBL_PLN_PRO_DIV_SDIV A \
LEFT JOIN TBL_MS_TARGET_GROUP11 B \
ON (A.PRIMARY_DEMO_ID=B.DEMO_ID) WHERE B.OP_TYPE IS NULL;
382591 | U | null | 3085 | null
Но когда мы попытались выбрать с помощью Not Equal, где условие, соответствующий запрос не дает должного результата.B.OP_TYPE! = 'D' - Здесь условие, включающее B.OP_TYPE, равно нулю
ksql> SELECT PLAN_ID,A_OP_TYPE,B.OP_TYPE,A.PRIMARY_DEMO_ID,B.DEMO_ID \
FROM TBL_PLN_PRO_DIV_SDIV A \
LEFT JOIN TBL_MS_TARGET_GROUP11 B \
ON (A.PRIMARY_DEMO_ID=B.DEMO_ID) WHERE B.OP_TYPE != 'D';