Você já tentou preceder um ponto e vírgula na frente de seu
With demonstração? (por exemplo, ;With q As ) Algumas notas gerais:
- Você deve executar isso em uma consulta, não no designer. Parece que você corrigiu isso.
- Enumere as colunas em vez de usar
*. Ou seja, no exemplo abaixo, substitua Col1, Col2 pelas colunas reais que você deseja prefixadas pela tabela de onde elas vieram. - Coloque
use DatabaseNameno topo do seu script seguido por uma quebra de linha, seguido porGO, seguido por outra quebra de linha. - Se a única instrução anterior a
Withinstrução é oGOentre seuuseinstrução e a consulta, nenhum ponto e vírgula será necessário, pois é a primeira instrução do lote.
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