2011-07-19 2 views
0

Je travaille sur le site de réseau social en ce que j'ai 3 table SQL pour rechercher des utilisateurs pour la suggestion. Par exemple, l'utilisateur doit choisir une catégorie lors de l'enregistrement.Comment filtrer les utilisateurs de suggestion par intérêt pour SQL Server 2005?

Tableau utilisateur:

userID | username | categoryID | createdOn 
101   abc   2   20-07-11 

..... comme sage

Catégorie Tableau

CategoryID | CategoryName 
     0    Health 
     1    IT 
     2    Construction 

..... comme sage

et une autre table est intérêt Catégorie, L'utilisateur doit choisir au plus 5 intérêts comme indiqué ci-dessous

InterestCategories

UserInterestID | UserID | location | CategoryID | CreatedBy 
0      101   India   1    101 
1      101   UK    3    101  
2      101   CA    10   101 
3      101   RA    14   101 
4      510   LA    5    510 

Maintenant, je veux mettre en ordre utilisateur par

  1. de l'utilisateur de la catégorie d'intérêt
  2. Les utilisateurs de ma propre catégorie

Comment nous obtenons tous les utilisateurs de suggestion selon la condition ci-dessus en utilisant le script SQL Server 2005?

Répondre

0

Pour # 1, s'il vous plaît essayer:

select u.* from User u, InterestCategories i where u.UserID = i.UserID and i.CategoryID = %InterestCatagoryID%; 

Pour # 2, s'il vous plaît essayer:

select u.* from User u, InterestCategories i, User m where u.UserID = i.UserID and i.CategoryID = m.CatetoryID and m.UserID = %MyUserID%; 
+0

Bonjour je veux à la fois le point devrait être dans une requête non requête distincte –

+0

vous pouvez utiliser l'union à l'union les deux sql. – ControlPower