sql >> Databáze >  >> RDS >> Sqlserver

Žádná podpora pro OVER v MS SQL Server 2005?

Zkusili jste před With přidat středník prohlášení? (např. ;With q As )

Některé obecné poznámky:

  1. Toto musíte spustit v dotazu, nikoli v návrháři. Zdá se, že jste to vyřešili.
  2. Namísto použití * vytvořte výčet sloupců . To znamená, že v níže uvedeném příkladu nahraďte Sloupec1, Sloupec2 skutečnými sloupci, kterým chcete předponu v tabulce, odkud pocházejí.
  3. Zadejte use DatabaseName v horní části skriptu následuje zalomení řádku a za ním GO , po kterém následuje další zalomení řádku.
  4. Pokud je jediným příkazem před With příkaz je GO mezi vaším use příkaz a dotaz, pak není středník nutný, protože se jedná o první příkaz v dávce.

use DatabaseName
GO
WITH q AS
        (
        SELECT  TableName.Col1, TableName.Col2,...
            , ROW_NUMBER() OVER (PARTITION BY dbo.[1_MAIN - Contacts].Contact_ID 
                                                        ORDER BY dbo.[1_MAIN - Contacts].Contact_ID ) AS rn
        FROM dbo.[1_MAIN - Contacts]
            INNER JOIN dbo.Referral
                ON dbo.[1_MAIN - Contacts].Contact_ID = dbo.Referral.Referral_ID
            INNER JOIN dbo.prov_training_records
                ON dbo.[1_MAIN - Contacts].Contact_ID = dbo.prov_training_records.Contact_ID
            LEFT OUTER JOIN dbo.Resource_Center
                ON dbo.[1_MAIN - Contacts].Contact_ID = dbo.Resource_Center.Contact_ID
            FULL OUTER JOIN dbo.Providers
                ON dbo.[1_MAIN - Contacts].Contact_ID = dbo.Providers.Contact_ID
        )
SELECT  *
FROM    q


  1. ExecuteScalar vs ExecuteNonQuery při vrácení hodnoty identity

  2. Nelze vytvořit datový model entity - pomocí MySql a EF6

  3. Jak zajistit, aby databáze neměly fragmentované indexy

  4. 10 užitečných zkratek pro Microsoft Access při práci s ovládacími prvky na formulářích a sestavách