Почему имена полей в операторе WHERE самостоятельного объединения обращаются в Oracle? - PullRequest
0 голосов
/ 14 октября 2011

Я написал оператор WHERE, который работает с именами столбцов в одном порядке, но не в обратном порядке.Я не знаю почему, и мне любопытно, может кто-то объяснить.

Код ниже работает.Когда у меня было WHERE e.emp_num = m.emp_manager, код не работал.

    SELECT DECODE (e.emp_initial,null, e.emp_fname||' '|| e.emp_lname,
         e.emp_fname ||' '|| e.emp_initial ||'. '|| e.emp_lname) AS Employee,
         m.emp_fname ||' '|| m.emp_lname AS Manager
    FROM hartmar.employee e,
         hartmar.employee m
    WHERE e.emp_manager = m.emp_num
    ORDER BY e.emp_lname, e.emp_fname, e.emp_initial

1 Ответ

0 голосов
/ 14 октября 2011

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

все столбцы в списке SELECT должны соответствовать (например, Имена) таблице, которую вы хотите стать менеджером, а не сотрудником..

поменяйте местами все эти а.в начале также для правильных результатов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...