下面是所有的SQL Server 2000名专家为您解答:SQL:在一个领域找到重复的值,但使用SUBSTRING()
我只有1台......我已经可以找到,如果在任何一个值,某个字段,也出现在另一个记录中。
即:是否有记录在同一 场再有 “ABCDEFGHI”的字段,然后 “ABCDEFGHI” ......但在另一个纪录。
但我尝试使用子字符串时遇到了麻烦。
即:有没有任何记录有“CDEF”在 一个字段,然后“DEFG”再次在 同场......但在另一个纪录。 (编辑:那当然不会匹配)
我想比较1字段的部分和另一部分的字段。 只比较字符3-6个字符,字符4-7。 (我需要为这两个字段指定我自己的开始范围。) 具体字母是什么......并不重要。只是他们'匹配'。
这似乎并不工作:
SELECT t1.ID + ' + ' + t2.ID
FROM InfoTable As t1
INNER JOIN InfoTable AS t2 ON t1.ID = SUBSTRING(t2.ID, 3, 4)
(编辑:我还需要但未列出只是匹配自己的任何记录。)
这是远从清楚你想要在这里找到什么。你是否想要所有其中有“CDEF”的记录,链接到其中任何地方有“DEFG”的所有其他记录?是否所有记录都具有从位置3开始的“CDEF”,与从位置4开始具有“DEFG”的所有其他记录相关联?是否所有记录都具有共同字符串的字符3到6,并且链接到具有相同共同字符串的字符4到7的所有其他记录?还有别的吗? – 2010-08-12 17:10:41
他们在哪里?不,只是我指定的开始/结束子串。 从位置a开始,并且b字符长... 匹配从位置c开始并且长度为d个字符的记录。 (当然,b和d必须是相同的才能发生匹配。) – HelenJ 2010-08-12 17:20:42