用于搜索具有无限数量的位字段的表的SQL设计方法
发布时间:2021-04-01 06:01:42 所属栏目:MsSql教程 来源:网络整理
导读:考虑搜索包含公寓租赁信息的表:使用该界面的客户端选择在数据库中表示为位字段的多个条件,例如: AllowPets HasParking HasDeck ModernKitchen 等等.. 我们面临的情况是,我们软件的每个新客户都有他们希望允许最终用户搜索的其他字段.位字段的数量可以达到数
样本搜索查询: ;WITH GetMatchingAttributes AS ( SELECT ApartmentID,COUNT(AttributeID) AS CountOfMatches FROM #Attributes WHERE AttributeType IN (1,2,3) --<<change dynamically or split a CSV string and join in GROUP BY ApartmentID HAVING COUNT(AttributeID)=3--<<change dynamically or split a CSV string and use COUNT(*) from resulting table ) SELECT a.* FROM #Apartments a INNER JOIN GetMatchingAttributes m ON a.ApartmentID=m.ApartmentID WHERE a.Status='A' ORDER BY m.CountOfMatches DESC OUTPUT: ApartmentID ApartmentName ----------- -------------- 1 one 2 two (2 row(s) affected) (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |