Sql server 无条件加入MS访问(无条件加入)

Sql server 无条件加入MS访问(无条件加入),sql-server,ms-access,Sql Server,Ms Access,假设我有两张桌子: ColX ColY -------- -------- Jim 26 Jake 5 Anastase 64 ColA ColB -------- -------- 55523265 true 29874902 false 90387546 true 我想将它们合并到一个表中,如下所示: ColX ColB -------- -------- Jim true Jake false An

假设我有两张桌子:

ColX      ColY
--------  --------
Jim       26
Jake      5
Anastase  64

ColA      ColB
--------  --------
55523265  true
29874902  false
90387546  true
我想将它们合并到一个表中,如下所示:

ColX      ColB
--------  --------
Jim       true
Jake      false
Anastase  true
我尝试创建一个查询,如下所示:

Select T1.ColX, S2.Mark FROM S1
INNER JOIN S2 ON 1=1
但MS Access不喜欢这样。它表示不支持Join语句。 任何指向正确方向的指示都是值得赞赏的

编辑:可能值得注意两件事:

这是针对安全课程的蓄意推理攻击。 MS Access没有rownumber功能。
你必须有一个表与另一个表相关的东西。你不能指望世界排名。您可以添加一个带有序列号的列,并在该列上进行连接,但否则,您所要求的就没有意义了。

这是一个危险的领域,不是一个好的通用解决方案。但是,如果这是一次性的,并且您知道两个表之间的对齐恰巧是完美的,例如,如果您在Excel中将列粘贴在一起,您可以直观地检查对齐情况,您可以在每个表上运行:

ALTER TABLE mytable1添加列行id计数器

ALTER TABLE mytable2添加列行id计数器

然后在第i行加入


但是,只有在顺序/对齐恰巧是完美的情况下,您的加入才会起作用。当心。

听起来很危险。但是,如果它们实际上是完美的,并且总是按行对齐,那么您可以添加一个行id并加入其中,也许?关于如何将一个行id添加到查询中,您有什么想法吗?我找不到方法。实际上,该查询实际上是一个交叉连接。S1中的每一行都将有一个S2中的匹配行。如果每个表中有5行,那么结果应该是25行。你的设计有缺陷。您需要S2中的某些内容才能知道它属于S1中的哪些行。如果您已经创建了1:1的关系,为什么还要麻烦使用第二个表?如果这是一个一次性的表,并且您知道对齐方式是完美的,并且永远都是完美的,那么您可以在每个:ALTER table mytable ADD COLUMN row_id COUNTER上运行此操作。但是,只有在顺序/对齐恰巧是完美的情况下,您的加入才会起作用。小心。@ako:太好了。很难找到那个特别的命令。请把答案贴出来,这样我就可以把它标记正确。让我做一个物理类比。至少在美国,人们有SSN。汽车有VIN。你所问的就像一个房间里挤满了人,停车场里停满了汽车,没有进一步的信息,最后约翰坐上了红色别克。