Sql 连接两个没有公共列的表
我正在处理两个没有列的表,我可以轻松地连接到它们并获取所需的数据 有关表格的信息: 我确实在这两个表中看到了一些共同点,我可以使用它们来连接,但我不确定如何才能做到这一点 表1:有一个名为File\u Name的列。此列捕获导入的文件位置。Sql 连接两个没有公共列的表,sql,sql-server,trim,jointable,Sql,Sql Server,Trim,Jointable,我正在处理两个没有列的表,我可以轻松地连接到它们并获取所需的数据 有关表格的信息: 我确实在这两个表中看到了一些共同点,我可以使用它们来连接,但我不确定如何才能做到这一点 表1:有一个名为File\u Name的列。此列捕获导入的文件位置。 示例:C:\123\3455\344534\3fjkfj.txt。最大长度=200 表2:有一个名为batch\u ID的列,包含表1中列出的文件导入的所有记录。 “批次ID”列与表1中的“文件名”列完全相同。 然而,不同之处在于它只允许长度=50。 它几乎
示例:C:\123\3455\344534\3fjkfj.txt。最大长度=200 表2:有一个名为batch\u ID的列,包含表1中列出的文件导入的所有记录。
“批次ID”列与表1中的“文件名”列完全相同。
然而,不同之处在于它只允许长度=50。 它几乎只显示文件名和目录的最后50个字符(从右到左50个字符)。
最大长度=50 示例:..\344534\3fjkfj.txt(如果长度超过50,则基本上会删除字符) 如何在这两列上连接这些表?我知道我可以创建一个函数和临时表,但是没有它我怎么做呢
谢谢
表2上的右侧
是不必要的。如果文件名/文件ID(例如:)只有20个字符,这也适用吗?谢谢!我会试试看。@Lamak我并不是想给这个问题一个完美的解决方案。我这篇文章的目的是展示你可以在连接条件下使用函数。@GMastros我并不是说你应该给出一个完美的解决方案(好吧,事实上,op面临的问题没有一个,因为他的数据是这样的,因为长度的不同可能会出现误报)。即使如此,当您在表1上使用RIGHT
时,您仍然可以使用函数,我不明白您为什么还要将其添加到表2中。我为错误的标题道歉。它应该是:连接两个没有公共列的表。
Select Columns
From Table1
Inner Join Table2
On Right(Table1.ColumnA, 50) = Right(Table2.ColumnB, 50)