Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Resultados combinados de várias consultas SQL assíncronas -- resultados máximos (XYZ superior)


O seguinte provavelmente fornecerá um plano que alcançará o resultado desejado de não processar nenhuma linha após a 1.000ª ser encontrada.
WITH CTE
     AS (SELECT Text
         FROM   A
         WHERE  CONTAINS(Text, '"searchString"')
         UNION ALL
         SELECT Text
         FROM   B
         WHERE  CONTAINS(Text, '"searchString"')
         UNION ALL
         SELECT Text
         FROM   C
         WHERE  CONTAINS(Text, '"searchString"'))
INSERT INTO Results
SELECT TOP 1000 Text
FROM   CTE