Existe-t-il une méthode plus efficace pour effectuer le SQL suivant?Sélectionnez TOP N et définissez la variable si davantage peut être sélectionné.
Je veux sélectionner les 50 meilleurs résultats, mais je veux aussi définir une variable pour me dire si je serais de retour obtenu plus de résultats sans le TOP
DECLARE @MoreExists BIT
SET @MoreExists = 0
DECLARE @Count INT
SELECT @Count = Count(*)
FROM MyTable WHERE ... --some expensive where clause
IF @Count > 50
SET @MoreExists = 1
SELECT TOP 50 Field1, Field2, ...
FROM MyTable WHERE ... --same expensive where clause
hm .. c'est la manière la plus évidente et la plus simple de le faire. Passez mon procès stocké le compte que je suis attendu, puis dans le SP augmenter ce nombre par un, et dans le code vérifier si le nombre renvoyé est supérieur à ce que j'ai demandé. – Ray