Je tente de retirer les cinq premières instances de certains enregistrements chargés dans une table. Il est important de noter que j'essaie de faire ressortir mes résultats de la même table et je pense qu'il y a un problème que je n'arrive pas à comprendre en rapport avec le fait qu'il s'agit d'un tableau. Voici l'exemple de ma requête:Sélectionnez Haut (un certain nombre) avec UNION ALL et ORDER BY
Select * From (
Select Top 5 JobID From Jobs Where JobTypeID = 1 Order By JobID DESC
UNION ALL
Select Top 5 JobID From Jobs Where JobTypeID = 2 Order By JobID DESC
UNION ALL
Select Top 5 JobID From Jobs Where JobTypeID = 3 Order By JobID DESC
UNION ALL
Select Top 5 JobID From Jobs Where JobTypeID = 4 Order By JobID DESC
UNION ALL
Select Top 5 JobID From Jobs Where JobTypeID = 5 Order By JobID DESC
UNION ALL
Select Top 5 JobID From Jobs Where JobTypeID = 6 Order By JobID DESC
) As UnionTable
Quand je lance c'est SQL Server je n'obtenir 9 dossiers quand je sais, en fait, qu'il devrait y avoir 30. Comment puis-je faire en sorte que je tire en arrière tous les enregistrements corrects? Dois-je utiliser une clause Group By dans chaque sous-requête?
Êtes-vous sûr qu'il y a au moins 5 travaux pour * chaque * JobID'? –
Après Nick Craver, je courais chacun individuellement. Et vous voulez dire ORDER BY JobID aussi? – gbn
Chaque ID de travail a atleast 5 enregistrements, seulement alors il renverra 30. –