たとえば、私は2つのテーブル(一時テーブル)を持っています。そのうちの1つにはIDのみが含まれ、もう1つには実際の情報が含まれます。彼らはまったく同じ行番号を持っています。条件なしで2つのテーブルを結合する方法
#Table1
ID
14
15
16
#Table2
CarModel Year
Ford 1996
Ferrari 2005
Toyota 2010
どのように私は(ちょうど、結果テーブルには3列、どのような順序で関係なく持って、任意の条件なし)1で、この2つのテーブルを結合することができますか?実際のテーブルの結果を挿入するために必要です
Cars
ID CarModel Year
この表ではIDは使用していません。挿入するIDを取得する独自のメカニズムがあります。 私はそれを変更することができません。
その結果、私は(順序は重要ではありません)次のいずれかのようなテーブルが必要になります。
#Table3
ID CarModel Year
14 Ford 1996
15 Ferrari 2005
16 Toyota 2010
または
#Table3
ID CarModel Year
16 Ford 1996
14 Toyota 2010
15 Ferrari 2005
P.S.私はCTEとrow_number()を使ってこれを行う方法を理解していますが、この作業を行うより簡単な方法があると思います。そして、このコードがMS SQL Server 2000で使用されるかもしれないので、私はソリューションの他の変種を見てうれしいでしょう。
'ROW_NUMBER()'これを実現するための方法のようになります。三角形の
パフォーマンスに関する考慮事項がうまくここで説明されているに参加します。しかし、関連するデータが実際には含まれていない場合、これらの2つのテーブルを結合する必要があるのはなぜですか? – Tejs
CTEと 'ROW_NUMBER'が私にとって最善の方法と思われます。 SQL Server 2000の場合、ID列または三角形結合でカーソルをシミュレートするか、カーソルを使用する必要があります。 –
@Tejsあなたの答えをありがとう。実際の(一時的ではない)表に挿入するには、この結合日付が必要です。そして、挿入された行にストアドプロシージャから取得したIDが必要です。しかし、私は本当に各行にどんな具体的なIDがあるのか気にしません。私はすべて彼らが私の "プール"から来る必要がありますはい、それは最高のスキーマではありませんが、それがあり、私はそれを使用する必要があります。 –