Используя приведенный ниже запрос, я извлекаю некоторые детали, разбросанные по трем различным таблицам конкретной схемы базы данных Oracle ...
SELECT USERNAME, FULLNAME, DEPARTMENT, TASKNAME
FROM USERDB t1
JOIN USERDB_TASKS t3 ON t1.USERID = t3.USERID
JOIN TASKS t2 ON t3.TASKSID = t2.TASKSID;
Токовый выход:
USERNAME FULLNAME DEPARTMENT TASKNAME
duryo dur yogeli IT Domain admin
rected rec tedenson SALES Process manager
Здесь таблица USERDB содержит четыре столбца USERID, USERNAME, FULLNAME, DEPARTMENT. Таблица USERDB_TASKS содержит два столбца USERID, TASKSID. Таблица TASKS содержит два столбца TASKSID, TASKNAME.
Для конкретного пользователя USERID будет одинаковым во всех таблицах. Аналогично, TASKSID для конкретной задачи будет одинаковым во всех таблицах.
Но на самом деле в таблице USERDB мало USERID, которых нет в таблице USERDB_TASKS, т. Е. Немногим пользователям не назначены никакие задачи, поэтому их идентификаторы явно отсутствуют в таблице USERDB_TASKS.
Используя приведенный выше запрос, я получаю информацию только о тех пользователях, чей USERID присутствует в таблицах USERDB, а также в таблицах USERDB_TASKS. У меня вопрос, как я могу изменить свой запрос таким образом, чтобы для всех тех немногих USERID, которые присутствуют только в таблице USERDB, а не в таблице USERDB_TASKS, значение для столбца TASKNAME должно быть равно NONE, например, как показано ниже ...
USERNAME FULLNAME DEPARTMENT TASKNAME
duryo dur yogeli IT Domain admin
rected rec tedenson SALES Process manager
Ueswit Ues witer Market NONE
Заранее спасибо за помощь!