Вернуть пользовательское значение, если объединение не прошло успешно? - PullRequest
1 голос
/ 12 октября 2010

Я пытаюсь сделать выбор, который бы возвращал пустое '', если соединение не было успешным

(когда пробел '' или '-' встречается в столбце)

и вернуть значение столбца, если оно успешно. Я использую случай для этого, но до сих пор не удалось. Кто-нибудь может посоветовать лучший запрос?

select a.EmpName,a.deptcode,(a.deptcode||' '||(SELECT CASE(a.deptcode) WHEN a.deptcode='-' THEN '' ELSE b.deptname)) as FULLDEPTNAME from table1 a LEFT OUTER JOIN tableB b on a.deptcode=b.deptcode WHERE a.empNo=12;

1 Ответ

1 голос
/ 12 октября 2010

(когда в столбце встречается пробел '' или '-')

Если соединение не удалось, значение столбца будет нулевым (не пустым или дефисом).

Может быть, это работает лучше

  a.deptcode || '  ' || coalesce (b.deptname, '<missing>') as fulldeptname
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...