同じ行数の2つのテーブルを結合する必要があります。各テーブルには1つの列があります。結合のために参照する接続列はありません。数値が降順で一番上になるように各テーブルが別々にソートされているので、それらを並べて結合する必要があります。
Table Earnersの収入値は、たとえば200Kから0までです。2つのケースを使用して選択することはできません。最初の行の収入が100Kを超えるためですが、2番目の行の最初の20個程度のエントリはNULLです。2番目の行も降順で並べ替えます。
CASE内でORDERBYを使用して検索しましたが、そのようなことはありません。row_number()について読み込もうとしましたが、どの例も一致または意味をなさないようです。
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.?????
AとBの両方が降順でソートされ、すべてのNULLが一番下に移動するため、2つのテーブルを結合するために何を参照できますか?
1つのSELECTステートメントと2つのCASEステートメントを使用した前の出力
dinero mula
2.12688e+007 NULL
1.80031e+007 NULL
1.92415e+006 NULL
… …
NULL 93530.7
NULL 91000
NULL 84500
2つの一時表を作成した後に1つのSELECTステートメントを使用して必要な出力
dinero mula
2.12688e+007 93530.7
1.80031e+007 91000
1.92415e+006 84500
… 82500
NULL 82000
NULL …
NULL NULL
これはMicrosoftSQLServer 2008です。私はこれに非常に慣れていないので、できるだけ明確で単純化された答えを与えてください。ありがとうございました。