Sql server TSQL连接三个表,其中没有一个表具有公共列

Sql server TSQL连接三个表,其中没有一个表具有公共列,sql-server,tsql,join,Sql Server,Tsql,Join,这可能很简单,因为我是个新手 我有两个从Excel导入的表,我需要根据电子表格中的电子邮件地址更新现有的电子邮件地址表 我唯一的问题是我不能在公共列上联接,因为没有一个表共享一个列 所以我想知道,在一个连接中,我是否可以 FROM table a INNER JOIN table b ON b.column 'name' = a.column 'nameplus' ` 任何帮助都将不胜感激 没有匹配谓词的连接可以有效地实现为交叉连接:即表A中的每一行都与表B中的每一行匹配 如果您指定了一个内部

这可能很简单,因为我是个新手

我有两个从Excel导入的表,我需要根据电子表格中的电子邮件地址更新现有的电子邮件地址表

我唯一的问题是我不能在公共列上联接,因为没有一个表共享一个列

所以我想知道,在一个连接中,我是否可以

FROM table a
INNER JOIN table b ON b.column 'name' = a.column 'nameplus' `

任何帮助都将不胜感激

没有匹配谓词的连接可以有效地实现为
交叉连接
:即表A中的每一行都与表B中的每一行匹配

如果您指定了一个
内部联接
,那么您必须在
术语上有一个
,它要么匹配,要么不匹配:在您的示例中,您可能有一个技术匹配(即
b.column
确实匹配-可能完全巧合地匹配
a.column
),这没有商业意义

所以你要么

  • a
    交叉连接
    :无法链接表,但结果是所有可能的行组合
或:

  • 一个
    内部联接
    ,您必须在其中指定如何组合行(或
    左/右外部联接
    ,如果您希望包括任意一侧的所有行,而不考虑匹配度)

显示两个表中的一些示例数据。您的代码不符合要求。此外,标题与有关涉及多少表的说明不匹配。那么,是两个还是三个?哦,我的天啊…我真不敢相信我没有想到交叉连接。这就是我所需要的。非常感谢。一旦我的“我是个傻瓜,所以我必须等待选择答案”等待时间到了,我会选择你的答案。非常感谢@PapaNer-我希望您理解
交叉联接
显式地创建了
笛卡尔积