sql >> Database >  >> RDS >> Sqlserver

Hoe twee keer naar één CTE verwijzen?

Denk niet dat je dat kunt. Van MSDN

Nadruk op "enkele SELECT-, INSERT-, UPDATE-, DELETE- of CREATE VIEW-instructie."

Dit kan een situatie zijn waarin u een tijdelijke tabel wilt gebruiken .

CREATE TABLE #Recs
{
  .....
}
INSERT INTO #Recs
select *, row_number() over (order by id) as rownum from ......

Als u de structuur van de tabel niet van tevoren kent, kunt u dit formulier gebruiken om een ​​tijdelijke tabel te maken:

select *, row_number() over (order by id) as rownum INTO #Recs from ......

U kunt de tijdelijke tabel gebruiken op de manier die u hierboven hebt beschreven.



  1. Een 'tabel' retourneren (zonder kolomnamen vooraf te definiëren) vanuit een PL/SQL-functie

  2. Entity Framework Core-telling heeft geen optimale prestaties

  3. SQL Loader, verzadiging triggeren?

  4. Query werkt op Oracle 11g maar mislukt op Oracle 8i