我有一个用户档案(基于用户类型的一个或多个档案),我将其存储在一个数据库列(XML格式)中。
我可以在我的存储过程中使用XPATH进行查询,但我不确定如何执行ORDER BY。
SELECT U.UserId, UP.Profile, UP.UserParentID
FROM aspnet_Users U
LEFT OUTER JOIN UserProperties UP ON U.UserId = UP.UserId
WHERE
UP.Profile.exist( /Properties/property[contains(.,sql:variable("@cLookup"))] ) = 1
示例XML:
<Properties>
<property id="BusinessName" name="Business Name"></property>
<property id="AccountNumber" name="Account Number"></property>
<property id="Address" name="Address"></property>
<property id="Phone" name="Phone"></property>
<property id="Fax" name="Fax"></property>
<property id="Web" name="Web"></property>
<property id="ABN" name="ABN"></property>
<property id="Logo" name="Logo"></property>
<property id="Photos" name="Photos"></property>
<property id="Map" name="Location Map"></property>
</Properties>
和
<Properties>
<property id="FirstName" name="First Name"></property>
<property id="LastName" name="Last Name"></property>
</Properties>
想按BusinessName排序。