Avec votre première conception, vous pourriez faire une jointure entre le mls_unified_mvo_svo_tbl et une sous-question ces groupes sur le mls_unified_mvo_sale_type. Par exemple,
choisir a.mlsnum, b.SaleTypeName, b.NameCount de
mls_unified_mvo_svo_tbl qu'un intérieur se joint
(MlsNum choisi, SaleTypeName, compte (SaleTypeName) comme NameCount
du mls_unified_mvo_svo_sale_type intérieur joindre le sale_type
groupe par MlsNum, SaleTypeName) b sur a.MlsNum = b.MlsNum
là où b.SaleTypeName dedans (« enchère », « forclusion ") et b.NameCount > 0 ;
Ceci se joignent ne produira pas plus d'un disque pour chaque valeur discrète de Sales_Type, ainsi vous pouvez simplement choisir ceux que vous voulez et ignorez le repos.
CEPENDANT, je suis sûr que la deuxième conception exécutera beaucoup meilleur. C'est probablement l'une de périodes où vous commercez la normalisation pour l'exécution.