Ricardo
Ricardo

Reputation: 345

Sort records from different tables

I have two table with an column 'minute'. These table are joined with a INNER JOIN. Now I want to print out all the records from both tables sorted on both the columns 'minute'

Example

Table 1: name - minute

 John - 1
 Marc - 3

Table 2: name - minute

Gareth - 2
Joe - 3

Output:

John, Gareth, Marc, Joe

The two tables have to remain two separate tables.

Upvotes: 0

Views: 183

Answers (4)

bvr
bvr

Reputation: 4826

Try this

SELECT name
FROM
(
  SELECT name, [minute],1 AS sort FROM Table1
  UNION ALL 
  SELECT name, [minute],2 AS sort FROM Table2
) T
ORDER BY [minute],sort

output

name    minute
John    1
Gareth  2
Marc    3
Joe     3

OR

SELECT name, [minute]
FROM
(
  SELECT name, [minute] FROM Table1
  UNION ALL 
  SELECT name, [minute] FROM Table2
) T
ORDER BY [minute]

output

name    minute
John    1
Gareth  2
Joe     3
Marc    3

Upvotes: 2

Vivek Sadh
Vivek Sadh

Reputation: 4268

You should use UNION :-

 (SELECT  *
 FROM    table1)
    UNION 
 (SELECT  *
 FROM    table2)

 ORDER BY minute ASC

Output:-

john    1
gareth  2
marc    3
joe     3

Upvotes: 5

Karloss
Karloss

Reputation: 817

Try this:

Select name
From table1
Union all
Select name
From table2
order by minute

Upvotes: 0

Liam Sorsby
Liam Sorsby

Reputation: 2982

Not sure if this is what you are looking for

SELECT name, minute FROM table1, table2 ORDER BY table1.minute,table2.minute ASC;

Upvotes: -1

Related Questions