Dites que j'ai un jeu de résultats qui peut contenir une ou plusieurs valeurs, mais je veux toujours seulement une valeur dans le résultat, et les valeurs spécifiques valent plus que d'autres.Comment créer un classement habituel de mon jeu de résultats dans SQL?
Comment est-ce que je pourrais résoudre ceci en SQL pour que je puisse l'utiliser dans une sous-requête?
Exemple (T-SQL spécifique, c'est l'accent que je travaille avec):
J'ai une table:
tChore(ChoreId int primary key, ChoreDescription nvarchar(15))
qui est chargé avec tous les types de tâches. J'ai aussi une autre table:
tDayChores(
DayId int primary key,
ChoreId int foreign key references tChore(ChoreId)
)
qui est chargé avec les jours et les tâches dans un grand nombre à plusieurs.
Il existe bien sûr une troisième table contenant le nom de tous les jours de la semaine. Maintenant, disons que je voudrais avoir un, et un seul, jour pour aspirer. Je préfère le faire le mercredi, mais si ce n'est pas prévu alors j'aimerais le faire le jeudi, et à son tour si ce n'est pas prévu alors ce n'est pas grave, n'importe quel jour est bien.
Une façon de limiter le jeu de résultats à une ligne serait de le faire:
select top(1)
DayId
from
tDayChores DC
inner join tChore C
on C.ChoreId = DC.ChoreId
where
C.ChoreDescription = 'vacuum'
Cependant, si le vide est prévue pour le lundi et le mercredi, je recevrais lundi en conséquence, et je d aime se classer mercredi le plus haut.
Pouvez-vous supprimer votre réponse et ajouter ce détail à la question elle-même? –
Bien sûr, mais il semblait plus correct de garder la suggestion de solution dans la partie réponse. Semble bien? –