Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Извършване на заявка за набор от резултати от предишна заявка

Има няколко начина за решаване на това:

1:създайте изглед от първата заявка и стартирайте втората заявка на изгледа.

2:вложете и двете заявки, като това:

SELECT DISTINCT [Name]
FROM (
  SELECT [Name] 
  FROM table 
  WHERE some Criteria
) As InnerQuery

3:използвайте временна таблица за съхраняване на набора от резултати на първата заявка, както е предложено от wewesthemenace в коментари .

4:използвайте CTE, както е предложено от thebreiflabb в другия отговор към тази публикация.

Лично аз вероятно бих избрал първата или втората опция, в зависимост дали трябва да използвате и първата заявка самостоятелно.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Заявка за Sql присъединявания

  2. База данни, която може да обработва>500 милиона реда

  3. SqlException не беше обработено

  4. Използване на тригер за симулиране на втора колона за самоличност в SQL Server 2005

  5. Разделяне на таблицата с помощта на 2 колони