Tsql 如何在联接的WHERE子句中将列名用作LIKE语句的一部分

Tsql 如何在联接的WHERE子句中将列名用作LIKE语句的一部分,tsql,sql-server-2008-r2,sql-like,Tsql,Sql Server 2008 R2,Sql Like,这几乎为我提供了我想要的结果。由于在某些情况下,INVENTDIMID附加了后缀,因此大约四分之一的期望结果被消除 在类似于此意图的类似子句中,正确的语法是什么 LEFT OUTER JOIN [INVENTTRANS] ON #TEMP.VOUCHERPHYSICAL=[INVENTTRANS].VOUCHERPHYSICAL WHERE [INVENTTRANS].ITEMID = #Temp.INVENTDIMID 或者,如果没有快捷方式,那么最有效的长时间方式是什么 谢谢我不确定我是否

这几乎为我提供了我想要的结果。由于在某些情况下,
INVENTDIMID
附加了后缀,因此大约四分之一的期望结果被消除

在类似于此意图的类似子句中,正确的语法是什么

LEFT OUTER JOIN [INVENTTRANS]
ON #TEMP.VOUCHERPHYSICAL=[INVENTTRANS].VOUCHERPHYSICAL
WHERE [INVENTTRANS].ITEMID = #Temp.INVENTDIMID
或者,如果没有快捷方式,那么最有效的长时间方式是什么


谢谢

我不确定我是否完全理解了这个问题,但您似乎想对类似的语句应用谓词,该语句比较的是固定的而不是您提供的文本中的其他内容

我总是这样做:

WHERE '[INVENTTRANS].ITEMID%' like #Temp.INVENTDIMID
这基本上是在试图关联的列的任一侧应用通配符。它适用于变量或列

更新5-21-13

两个表变量的简单示例,它们在第二个表变量上自行填充并使用通配符匹配。代码将在SQL Management Studio中的SQL 2008或更高版本上按原样运行:

Where (ColumnName) like '%' + (OtherColumnName) + '%'

我不确定我是否完全理解了这个问题,但似乎你想对一个类似的语句应用一个谓词,该语句比较的是你提供的文本中没有的固定内容

我总是这样做:

WHERE '[INVENTTRANS].ITEMID%' like #Temp.INVENTDIMID
这基本上是在试图关联的列的任一侧应用通配符。它适用于变量或列

更新5-21-13

两个表变量的简单示例,它们在第二个表变量上自行填充并使用通配符匹配。代码将在SQL Management Studio中的SQL 2008或更高版本上按原样运行:

Where (ColumnName) like '%' + (OtherColumnName) + '%'

这接近我的意图。我曾希望将通配符应用于列中的内容。300794对300794对344411对34441125对300794对344411对344411对34441125对这应该行得通,看看更新后的示例以供进一步审查。感谢您提供示例。我将操作顺序颠倒过来,并寻找时间越长,结果越短的实例。看来我还有更多的问题,但你帮我消除了一个选择。谢谢。这接近我的意图。我曾希望将通配符应用于列中的内容。300794对300794对344411对34441125对300794对344411对344411对34441125对这应该行得通,看看更新后的示例以供进一步审查。感谢您提供示例。我将操作顺序颠倒过来,并寻找时间越长,结果越短的实例。看来我还有更多的问题,但你帮我消除了一个选择。谢谢