Join two tables with same # of row but sorted for NULL

Posted by VISQL on Stack Overflow See other posts from Stack Overflow or by VISQL
Published on 2012-04-11T18:40:17Z Indexed on 2012/04/11 23:29 UTC
Read the original article Hit count: 247

Filed under:
|
|

I need to join two tables with the same number of rows. Each table has 1 column. There is NO CONNECTING COLUMN to reference for a join. I need to join them side by side because each table was sorted separately so that numeric values are at the top in descinding order.

The Table Earners has income values from say 200K down to 0. I cannot just select using 2 cases, because then I will have my first row with Incomes above 100K, but the first 20 or so entries in the second row are NULL. I want the second row to also be sorted descending.

I looked up using ORDER BY within CASE but there is no such thing. I have tried to read about row_number() but none of the examples seem to match or make sense.

drop table #20plus
select
    case
        when Income >= 20000 AND Income < 100000
        then Income end as 'mula'
into #20plus
from Earners
order by mula desc


drop table #100plus
select
    case
        when Income >= 100000
        then Income end as 'dinero'
into #100plus
from Earners
order by dinero desc

Select A.dinero, B.mula
FROM #100plus as A JOIN #20plus as B
ON A.????? = B.?????

Since both A and B are sorted descending, moving all NULL to the bottom, what can I reference to join the two tables?

Previous output using one SELECT statement with 2 CASE statements

dinero             mula
2.12688e+007       NULL
1.80031e+007       NULL
1.92415e+006       NULL
…                  …
NULL               93530.7
NULL               91000
NULL               84500

Desired output using one SELECT statement after creating two temp TABLES

dinero          mula
2.12688e+007    93530.7
1.80031e+007    91000
1.92415e+006    84500
…               82500
NULL            82000
NULL            …
NULL            NULL

This is Microsoft SQL Server 2008. I'm super new to this, so please give an answer as clear and simplified as possible. Thank you.

© Stack Overflow or respective owner

Related posts about sql

Related posts about join