2012-10-18 143 views
1

我有两个表:将两个select语句到一个表

tbl_origin tbl_destination 

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

我想在一个表中得到一个结果:

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

我用了两个选择语句,但我得到类似的结果此:

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进行此操作。我试图使用交叉连接,但我似乎得到一个错误。

+0

你只有一列tbl_origin和tbl_destination?所以对于tbl_origin中的每一行,你想要在tbl_desitanation中并排放置一行? –

+0

是Ricky。 G ... – user1532113

+0

比赛是否重要?如果它依赖于条目的顺序,那就是在寻求麻烦。你需要有唯一的键和外键。 – ApplePie

回答

0

如果你想要的只是基于顺序进行连接,最简单的方法就是在每个表中添加一个新列,将其称为Id,并为每行分配一个唯一编号,或者将其设置为标识列类型,然后你可以运行下面的查询。

您的新表看起来像

enter image description here

查询会给你想要的东西。

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

如果你不想在访问恐怕至少在SQL Server,您可以使用临时表等,以获得周围添加ID /标识列,那么你只有有限的选择,但在访问我想它几乎是不可能的,最简单的选择是添加一个数字列