sql >> Databasteknik >  >> RDS >> Sqlserver

Hur refererar man till en CTE två gånger?

Tror inte att du kan. Från MSDN

Betoning på "single SELECT, INSERT, UPDATE, DELETE eller CREATE VIEW-sats."

Det här kan vara en situation där du vill använda en Tillfällig tabell .

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

Om du inte känner till tabellens struktur i förväg kan du använda det här formuläret för att skapa en tillfällig tabell:

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

Du kommer att kunna använda den tillfälliga tabellen på det sätt som du har beskrivit ovan.



  1. Varför förbättrar TRANSACTION / COMMIT prestandan så mycket med PHP/MySQL (InnoDB)?

  2. Finns det ett ANSI SQL-alternativ till nyckelordet MYSQL LIMIT?

  3. N:e högsta lönen

  4. oracle.jdbc.driver.OracleDriver undantag för nybörjare Java