【发布时间】:2014-04-29 12:14:02
【问题描述】:
我需要找到一种方法来使用带有通配符的列名称来连接两个表。这是我的场景:
CREATE TABLE #table1
(
AuthCode varchar(10)
)
INSERT INTO #table1
VALUES ('52201')
SELECT * FROM #table1
JOIN bilact
ON #table1.AuthCode = bilact.byAuthCode
在 bilact 表中,auth code 为 005221(字段为 varchar),当我运行上述查询时,它没有返回任何结果。
我遇到的情况非常复杂,我不想解释为什么我必须这样做,因为这是唯一可行的方法。有没有办法可以在连接中添加带有列名的通配符?谢谢。
【问题讨论】:
-
您想使用通配符在列中搜索吗?还是要加入名称与通配符模式匹配的任何列?
-
它是bilact表中的一列,将auth代码存储为varchars。
-
等一下,您在
varchar列中输入“52201”,在另一个varchar列中输入“005221”并且想要大致匹配它们? -
谢谢你问西蒙,如果更容易我会去搜索!我将如何编写将两列与通配符进行比较的 Where 语句?哪里 AuthCode = byAuthCode?span>
-
您是否希望加入两个表,其中一列是另一列的子字符串。这些字符串都不匹配另一个作为子字符串,而是它们共享字符 522。您是否尝试在共享子字符串的两列上进行匹配?或者是另一个的子字符串?
标签: sql-server join