Problème requete sql

Fermé
MörX - 20 avril 2010 à 14:07
Bonjour à tous,
voilà, je fait des requêtes sur Microsoft SQL Server Management Studio Express donc en T-SQL
et voilà ma requête :
select m1.cotier,m1.rasoci,m1.modire,m1.adtie2,m1.adtie3,m1.adtie4,m1.adtie5,m1.copost,m1.vitier,m1.teleph,
		m2.cotier,m2.rasoci,m2.modire,m2.adtie2,m2.adtie3,m2.adtie4,m2.adtie5,m2.copost,m2.vitier,m2.teleph,
		dbo.LEVENSHTEIN(dbo.replace2(m1.rasoci),dbo.replace2(m2.rasoci)) srasoci,
		dbo.LEVENSHTEIN(dbo.replace2(m1.modire),dbo.replace2(m2.modire)) smodire,
		dbo.LEVENSHTEIN(dbo.replace2(m1.adtie2),dbo.replace2(m2.adtie2)) sadtie2,
		dbo.LEVENSHTEIN(dbo.replace2(m1.adtie3),dbo.replace2(m2.adtie3)) sadtie3,
		dbo.LEVENSHTEIN(dbo.replace2(m1.adtie4),dbo.replace2(m2.adtie4)) sadtie4,
		dbo.LEVENSHTEIN(dbo.replace2(m1.adtie5),dbo.replace2(m2.adtie5)) sadtie5,
		convert(numeric,dbo.LEVENSHTEIN(m1.copost,m2.copost)) scopost,
		dbo.LEVENSHTEIN(dbo.replace2(m1.vitier),dbo.replace2(m2.vitier)) svitier,
		convert(numeric,dbo.LEVENSHTEIN(m1.teleph,m2.teleph)) steleph,
		(dbo.LEVENSHTEIN(dbo.replace2(m1.rasoci),dbo.replace2(m2.rasoci))
			+dbo.LEVENSHTEIN(dbo.replace2(m1.modire),dbo.replace2(m2.modire))
			+dbo.LEVENSHTEIN(dbo.replace2(m1.adtie2),dbo.replace2(m2.adtie2))
			+dbo.LEVENSHTEIN(dbo.replace2(m1.adtie3),dbo.replace2(m2.adtie3))
			+dbo.LEVENSHTEIN(dbo.replace2(m1.adtie4),dbo.replace2(m2.adtie4))
			+dbo.LEVENSHTEIN(dbo.replace2(m1.adtie5),dbo.replace2(m2.adtie5))
			+convert(numeric,dbo.LEVENSHTEIN(m1.copost,m2.copost))
			+dbo.LEVENSHTEIN(dbo.replace2(m1.vitier),dbo.replace2(m2.vitier))
			+convert(numeric,dbo.LEVENSHTEIN(m1.teleph,m2.teleph)))/9 smoyenne
from muse1.ms_tie m1 inner join muse1.ms_tie m2 
on soundex(dbo.replace2(m1.rasoci))=soundex(dbo.replace2(m2.rasoci))
and m1.cotier<>m2.cotier
where (dbo.LEVENSHTEIN(dbo.replace2(m1.rasoci),dbo.replace2(m2.rasoci))
			+dbo.LEVENSHTEIN(dbo.replace2(m1.modire),dbo.replace2(m2.modire))
			+dbo.LEVENSHTEIN(dbo.replace2(m1.adtie2),dbo.replace2(m2.adtie2))
			+dbo.LEVENSHTEIN(dbo.replace2(m1.adtie3),dbo.replace2(m2.adtie3))
			+dbo.LEVENSHTEIN(dbo.replace2(m1.adtie4),dbo.replace2(m2.adtie4))
			+dbo.LEVENSHTEIN(dbo.replace2(m1.adtie5),dbo.replace2(m2.adtie5))
			+convert(numeric,dbo.LEVENSHTEIN(m1.copost,m2.copost))
			+dbo.LEVENSHTEIN(dbo.replace2(m1.vitier),dbo.replace2(m2.vitier))
			+convert(numeric,dbo.LEVENSHTEIN(m1.teleph,m2.teleph)))/9 < 2;


seulement, comment vous pouvez le voir, je dois réutiliser 3 fois les mêmes instructions,
j'ai essayé avec des alias et je ressevais un message me disant "nom de colonne inconnu", pourquoi?