Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 连接两个没有公共列的表_Sql_Sql Server_Trim_Jointable - Fatal编程技术网

Sql 连接两个没有公共列的表

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。 它几乎

我正在处理两个没有列的表,我可以轻松地连接到它们并获取所需的数据

有关表格的信息:

我确实在这两个表中看到了一些共同点,我可以使用它们来连接,但我不确定如何才能做到这一点

表1:有一个名为File\u Name的列。此列捕获导入的文件位置。
示例: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)