首先,我正在使用SQL Server 2008 R2,而且我只使用它2周,编程知识有限。我需要做的是在表2(t1)中找到表1(t1)中记录的所有实例,并将它们输出到多个表(每个t2.c1-c25有1个输出表)。我目前在dos中使用concatenate和find来做这个,但我知道在SQL中必须有更好的方法。
以下是每个表的基本细节:
例如,t1.c1中的记录(行)1是单词“dog”,我想知道t2.c1中出现的单词“dog”,并将整个记录与关键字一起输出到t3 “狗”。然后t3看起来像这样:
t3.c1 =狗 t3.c2-c28 =具有匹配数据的行 等...
最终我最终会得到包含t2.c2到t1.c1中所有匹配项的t3。然后重复该过程以匹配t1.c1到t2.c2,t1.c1到t2.c3到t2.c25,每个都在它自己的输出表(t3-t28)中。
任何帮助将不胜感激,我可以澄清是否有任何问题!
答案 0 :(得分:0)
这是一个加入
SELECT
t1.c1, t2.c2, ..., t2.c28
FROM
t1
JOIN
t2 ON t2.c1 LIKE '%' + t1.c1 + '%'
警告:
您希望完全匹配,然后您需要ON t2.c1 = t1.c1
如果您想要“编号”“虚拟”表格,请将其添加到SELECT
DENSE_RANK() OVER (ORDER BY t1.c1) AS Virtualtable