Je fais une jointure sur deux tables. L'un est la table d'un utilisateur, et l'autre une liste d'utilisateurs premium. J'ai besoin que les membres premium apparaissent en premier dans ma requête. Toutefois, le fait qu'ils figurent dans la table des utilisateurs premium ne signifie pas qu'ils sont toujours un membre premium - il existe également un champ IsActive à vérifier.SQL Ordre conditionnel par
Donc, fondamentalement, je dois retourner les résultats dans l'ordre suivant: les utilisateurs Premium actifs Utilisateurs réguliers et inactifs premium
En ce moment, je l'ai comme suit: SELECT Users.MemberId, PremiumUsers.IsActive DE Les utilisateurs LEFT JOIN PremiumUsers sUR PremiumUsers.UserId = Users.Id ORDER BY PremiumUsers.IsActive DESC
Le problème est qu'il place les membres premium non actifs ci-dessus non membres premium.
(j'utilise MS SQL Server 2005 pour cette)
Je ne peux pas croire que je ne pensais jamais essayer ... belle astuce! –