Re: SELECT from two tables with different field names?

Поиск
Список
Период
Сортировка
От Pandu Poluan
Тема Re: SELECT from two tables with different field names?
Дата
Msg-id CAA2qdGVtQ_ObuEKKXVmShMYRNB0pFZupOzMJbxmRK5r1rjtyDQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: SELECT from two tables with different field names?  (Thomas Kellerer <spam_eater@gmx.net>)
Ответы Re: SELECT from two tables with different field names?  (Thomas Kellerer <spam_eater@gmx.net>)
Список pgsql-novice


On Dec 12, 2011 3:25 PM, "Thomas Kellerer" <spam_eater@gmx.net> wrote:
>
> Pandu Poluan, 12.12.2011 05:39:
>
>> Hello!
>>
>> Due to some legacy apps, I end up with two tables with similar information, but with zero intersection (i.e., both tables are exclusive of each other).
>>
>> For illustration:
>>
>> table_one has the fields emp_id and fullname
>>
>> table_two has the fields employee_id, first_name, and last_name
>>
>> Now, I need a query that will search for employee ID in both tables and return his/her full name.
>>
>> How do I do that? Will a simple UNION suffice?
>
>
> Yes a UNION should do (actually a UNION ALL as it will not try to remove duplicates which makes the query faster)
>
> select *
> from (
>   select emp_id, fullname
>   from table_one
>
>   union all
>
>   select employee_id,
>          first_name||' '||last_name
>   from table_two
> ) t
> where emp_id = 1
>

Thank you! I can see how UNION ALL will speed the query.

But, shouldn't I put the WHERE clause in the inner SELECTs?

Rgds,

В списке pgsql-novice по дате отправления:

Предыдущее
От: Jorge Perez
Дата:
Сообщение: tune postgresql on windows
Следующее
От: M. Emre Çolak
Дата:
Сообщение: getting auto increment id value