SQL question
am 07.07.2007 20:59:37 von dwightarmyofchampions
How do you combine two SELECT statements from two different tables
into one result (assuming bioth tables have the exact same fields)?
Like, assuming that the query SELECT * FROM Table1 gives the result
ID Name
001 Smith
002 Jones
and the query SELECT * FROM Table2 gives the result
ID Name
247 Simpson
856 Beckley
I want a SELECT ... ORDER BY ID statement that will output the
following data:
ID Name
001 Smith
002 Jones
247 Simpson
856 Beckley
How do I do this?
Re: SQL question
am 07.07.2007 21:22:27 von zeldorblat
On Jul 7, 2:59 pm, dwightarmyofchampi...@hotmail.com wrote:
> How do you combine two SELECT statements from two different tables
> into one result (assuming bioth tables have the exact same fields)?
>
> Like, assuming that the query SELECT * FROM Table1 gives the result
>
> ID Name
> 001 Smith
> 002 Jones
>
> and the query SELECT * FROM Table2 gives the result
>
> ID Name
> 247 Simpson
> 856 Beckley
>
> I want a SELECT ... ORDER BY ID statement that will output the
> following data:
>
> ID Name
> 001 Smith
> 002 Jones
> 247 Simpson
> 856 Beckley
>
> How do I do this?
select id, name
from table1
union
select id name
from table2
order by id
Re: SQL question
am 08.07.2007 00:31:00 von Erland Sommarskog
ZeldorBlat (zeldorblat@gmail.com) writes:
> On Jul 7, 2:59 pm, dwightarmyofchampi...@hotmail.com wrote:
>> I want a SELECT ... ORDER BY ID statement that will output the
>> following data:
>>
>> ID Name
>> 001 Smith
>> 002 Jones
>> 247 Simpson
>> 856 Beckley
>>
>> How do I do this?
>
> select id, name
> from table1
> union
> select id name
> from table2
> order by id
Or:
select id, name
from table1
union ALL
select id name
from table2
order by id
By default UNION sorts out duplicates. With UNION ALL they are retained.
--
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downlo ads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books .mspx
Re: SQL question
am 08.07.2007 16:04:33 von Joe Celko
>> How do you combine two SELECT statements from two different tables into one result (assuming both tables have the exact same fields [sic])? <<
The short answer is to use a UNION or UNION ALL.
The right answer is that tables are not files, just as columns are not
fields. If two tables have the exact same structure, then they model
the exact same entity and should be in one table. Files do not behave
that way.
This is usually the result of attribute splitting -- taking the values
of an attribute and making a table for each value.