Har du prøvet at sætte et semikolon foran din With udmelding? (f.eks. ;With q As )
Nogle generelle bemærkninger:
- Du skal køre dette i en forespørgsel, ikke designeren. Det lyder som om du har rettet det.
- Tæll kolonnerne i stedet for at bruge
*. Dvs., i eksemplet nedenfor erstatter Col1, Col2 med de faktiske kolonner, du vil have foranstillet af tabellen, hvorfra de kom. - Indsæt
use DatabaseNameøverst i dit script efterfulgt af et linjeskift efterfulgt afGO, efterfulgt af endnu et linjeskift. - Hvis den eneste sætning før
Withsætningen erGOmellem dinusesætningen og forespørgslen, så er der ikke behov for semikolon, da det er den første sætning i batchen.
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