Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Async Mehrere Abfragen kombinieren Ergebnisse -- Maximale Ergebnisse (Top XYZ)

Das Folgende wird Ihnen wahrscheinlich einen Plan geben, der Ihr gewünschtes Ergebnis erzielt, keine Zeilen zu verarbeiten, nachdem die 1.000ste gefunden wurde.

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