Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL-Server:Неправилен синтаксис близо до ключовата дума „с“. Ако това изявление е израз на обща таблица

Добавете няколко точки и запетая:

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

http://sqlfiddle.com/#!6/06e89



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL картографира влизане към съществуващ потребител

  2. Намерете последния въведен запис MS SQL SERVER

  3. T-SQL Cast срещу Convert

  4. SQL Server съдържа функция за пълен текст, която не връща очаквани резултати

  5. Минали ли са първичните ключове?