1

私は2つのテーブルを持っています:

tbl_origin    tbl_destination

 Origin          Dest
 ------          ----
 AMER            CBU
 PHIL            POT
 TAI             POT
 BAT             CBU

1 つのテーブルで結果を取得したい:

 Origin       Dest
 --------------------
 AMER         CBU
 PHIL         POT
 TAI          POT
 BAT          CBU

2 つの select ステートメントを使用しましたが、次のような結果が得られます。

 Origin       Dest
 --------------------
 AMER         CBU
 AMER         POT
 AMER         POT
 AMER         CBU
 PHIL         CBU
 PHIL         POT
 PHIL         POT
 PHIL         CBU
 TAI          POT
 TAI          POT
 TAI          POT
 TAI          POT
 BAT          CBU
 BAT          POT
 BAT          POT
 BAT          CBU

これにはMS ACCESSを使用しています。クロス結合を使用しようとしましたが、エラーが発生したようです。

4

1 に答える 1

0

順序に基づいて連結するだけの場合、最も簡単な方法は、各テーブルに新しい列を追加して Id と呼び、各行に一意の番号を割り当てるか、ID 列タイプに設定してから、以下のクエリ。

新しいテーブルは次のようになります

ここに画像の説明を入力

あなたが望むものを与えるクエリ。

select ori.origin, dest.dest 
from tbl_origin ori
inner join tbl_destination dest on dest.id = ori.id

Id/identity 列を追加したくない場合、Access のオプションは限られています。少なくとも SQL Server では、一時テーブルなどを使用して回避できますが、Access では、ほとんど不可能で最も簡単なオプションだと思います。数値列を追加することです

于 2012-10-18T01:09:14.157 に答える