Erreur lors de la modification du type de données de la colonne de vue

create view [dbo].[view_name] as SELECT cast(Table1.col1 as bigint), Table1.col2, Table2.col3, cast(Table2.col4 as double) FROM Table1 INNER JOIN Table2 ON Table1.col1 = Table2.col1 

Son erreur indiquant "erreur sur") ""

Quelle est l'erreur dans la requête ci-dessus. J'utilise SQL Server 2008.

modifier

 create view [dbo].[SP_AHU_data] as SELECT cast(TrendLog.TrendLogId as bigint) as TrendLogid , TrendLog.TrendLogGuid, TrendLogValue.LogTime,cast(TrendLogValue.LogValue as double) as LogValue FROM TrendLog INNER JOIN TrendLogValue ON TrendLog.TrendLogId = TrendLogValue.TrendLogId where TrendLog.TrendLogGuid in('{DCCFB6EA-C606-4168-A2B3-FC1059173DAF}', '{B1D5B0E8-44E2-459B-BC53-1CCE00FE7E6E}', '{7493BB54-DC88-4ECF-81DA-3AEBCC698808}', '{9641A376-D03D-46B7-9780-20DAC28AA3D9}') 

Il y a deux tables TrendLog et TrendLogValue

Trendlog a 2 colonnes

  1. TrendLogId (PK, smallint notnull)
  2. trendlogguid (uniqueidentifier non nul)

trendLogValue a 3 colonnes

  1. TrendLogId (PK, smallint notnull)
  2. LogValue (float notnull)
  3. LogTime (datetime notnull)

Essayez d'append des alias comme ci-dessous et changez le double pour float

 create view [dbo].[view_name] as SELECT cast(Table1.col1 as bigint) as col1, Table1.col2, Table2.col3, cast(Table2.col4 as float) as col4 FROM Table1 INNER JOIN Table2 ON Table1.col1 = Table2.col1 

Sql fiddle démo

Le type double n'est pas le type du server sql: MSDN