Как устранить строки, используя WHERE из объединенных столбцов? - PullRequest
0 голосов
/ 26 мая 2018

есть идеи, как исключить строки, используя WHERE из объединенных столбцов?

так сказать:

SELECT company_id||department_id AS "Company Dept" FROM Department

Я пытался еще больше сузить до:

WHERE company_id||department_id='000159999'

Однако это не сработало.Хотите узнать какие-либо возможные решения для фильтрации из объединенных столбцов (в Teradata JDBC)?

Company_id = 00015;отдел_ид = 9999 Обратите внимание, что одни и те же функциональные отделы могут находиться в разных идентификаторах отделов в разных балансовых единицах.Вот почему мой идеальный фильтр был бы вне объединенных столбцов.

Спасибо заранее!

1 Ответ

0 голосов
/ 26 мая 2018

Зачем вам объединять значения вместе?Просто используйте:

WHERE company_id = '00015'  and department_id = '9999'

С точки зрения производительности, это лучше, потому что запрос может использовать индексирование (и статистика более точная).Если значения действительно являются числами, то отбросьте ' s и ведущие 0 s:

WHERE company_id = 15 and department_id = 9999

Если у вас есть несколько значений, которые вы ищете:

WHERE (company_id = 15 and department_id = 9999) or
      (company_id = 14 and department_id = 9998) or
      . . .
...