Syntaxe incorrecte près du mot clé 'avec'. Si cette instruction est une expression de table commune
create table #temp
(
pName Varchar(20),
DateBegin DateTime,
DateEnd DateTime
)
Insert Into #temp(pName, DateBegin, DateEnd)
Values('Player1', '01/04/2012', '01/05/2012')
Insert Into #temp(pName, DateBegin, DateEnd)
Values('Player2', '02/01/2012', '02/05/2012')
With DateRange(dt) As
(
Select Convert(Datetime, '01/01/2012')
UNion All
Select DateAdd(dd, 1, Dat.dt) From DateRange Dat Where Dat.dt < CONVERT(Datetime, '01/31/2012')
)
Select T.pName, Dt.dt from #temp T
Inner Join DateRange Dt on Dt.dt BETWEEN T.DateBegin and T.DateEnd
Drop Table #temp
Problème avec cette ligne de code suivante
With DateRange(dt) As
Il affiche message d'erreur suivant
Syntaxe incorrecte près du mot clé 'avec'. Si cette déclaration est une
expression de table commune, un xmlnamespaces clause ou d'un suivi des modifications
contexte de la clause, la déclaration doit être dénoncé avec un
point-virgule.
OriginalL'auteur Nilish | 2012-05-29
Vous devez vous connecter pour publier un commentaire.
Ajouter quelques points-virgules:
http://sqlfiddle.com/#!6/06e89
Edit: Aussi, vous avez réellement n'avez pas de question. Avez-vous installé un plugin qui automatiquement les tuyaux de votre sortie de SQL Server de Gestion de Studio de journaux d'erreur de StackOverflow questions? 🙂
Eh bien, oui, "Si cette déclaration est une expression de table commune...la précédente déclaration doit être terminée par un point-virgule." Vous avez un CTE droit?
Si je ne suis pas beaucoup trompé, SQL Server 2005 toléré l'absence d'un point-virgule avant
WITH ...
(CTE) dans certaines situations, mais à partir de SQL Server 2008, vous devez toujours mettre un point-virgule avantWITH
.Il convient de souligner que, parfois, tout ce qui est nécessaire est un point-virgule juste avant l'instruction... même si il n'y a pas de code avant de faire la déclaration. Il suffit de placer un point-virgule sur une ligne vide au-dessus de votre déclaration.
OriginalL'auteur aquinas
Essayer cette syntaxe:
OriginalL'auteur Nalan Madheswaran