Czy próbowałeś dodać średnik przed With? oświadczenie? (np. ;With q As )
Kilka uwag ogólnych:
- Musisz uruchomić to w zapytaniu, a nie w projektantze. Wygląda na to, że to naprawiłeś.
- Wypisz kolumny zamiast używać
*. Np. w poniższym przykładzie zastąp Col1, Col2 rzeczywistymi kolumnami, które chcesz poprzedzić tabelą, z której pochodzą. - Wstaw
use DatabaseNameu góry skryptu, po którym następuje podział wiersza, a następnieGO, po którym następuje kolejny podział wiersza. - Jeśli jedyna instrukcja przed
Withoświadczenie toGOmiędzy twoimuseinstrukcji i zapytania, średnik nie jest potrzebny, ponieważ jest to pierwsza instrukcja w partii.
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