sql >> Databáze >  >> RDS >> Sqlserver

SQL-Server:Nesprávná syntaxe poblíž klíčového slova 'with'. Pokud je tento příkaz běžným tabulkovým výrazem

Přidejte středníky:

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. Analyzujte datum z neformátovaného textu v SQL

  2. Přejmenování tabulky oddílů automaticky v ORACLE

  3. Jednoduchý způsob, jak transponovat sloupce a řádky v SQL?

  4. Jak importovat soubor Excel do databáze mysql z PHP