Heb je geprobeerd een puntkomma voor je With . te zetten? uitspraak? (bijv. ;With q As )
Enkele algemene opmerkingen:
- U moet dit in een query uitvoeren, niet in de ontwerper. Het klinkt alsof je dat hebt opgelost.
- Stel de kolommen op in plaats van
*. D.w.z. in het onderstaande voorbeeld vervangt u Col1, Col2 door de eigenlijke kolommen die u wilt laten voorafgaan door de tabel waar ze vandaan komen. - Zet
use DatabaseNamebovenaan je script gevolgd door een regeleinde, gevolgd doorGO, gevolgd door nog een regeleinde. - Als de enige instructie voorafgaand aan de
Withstatement is deGOtussen uwusestatement en de query, dan is er geen puntkomma nodig aangezien dit het eerste statement in de batch is.
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