SQL Server 2008 R2: le type de données de geometry ne peut pas être sélectionné comme DISTINCT car il n'est pas comparable

Ma question est simple, je veux utiliser union pour deux requêtes qui a un type de données de geometry et cela me donne cette erreur.

C'est ma requête:

select f.*, f.geom.STArea() as area, f.geom.STLength() as perimeter from [dbo].[nosazi_shahrsazi_conne_leftJ]() as f, (select geom from dbo.[GetWithinParcelWithApoint]('POLYGON ((5727454.0875024563 3838386.9047163716, 5727454.0875024563 3838391.8829422966, 5727459.06572838 3838391.8829422966, 5727459.06572838 3838386.9047163716, 5727454.0875024563 3838386.9047163716))') g) as h where h.geom.STTouches ( f.geom ) = 1 union (select * from dbo.[GetWithinParcelWithApoint]('POLYGON ((5727454.0875024563 3838386.9047163716, 5727454.0875024563 3838391.8829422966, 5727459.06572838 3838391.8829422966, 5727459.06572838 3838386.9047163716, 5727454.0875024563 3838386.9047163716))') g) 

En fait, je veux find toutes les forms touchantes autour d'une forme et append la forme elle-même en résultat .. donc je dois utiliser une union ..

Est-il possible de corriger cette erreur? Merci

Vous ne savez pas si l'erreur est à l'intérieur de dbo.[GetWithinParcelWithApoint] . Si c'est le cas, nous devons voir le text.

À partir d'erreurs visibles, vous DEVEZ utiliser UNION ALL pour le type de données GEOMETRY .