SQL无效的列名Site.LocationLat,

时间:2018-05-28 23:33:14

标签: sql sql-server sql-server-2012

CREATE TABLE #Data(
    [LocationLat] float NULL, 
    [LocationLong] float NULL, 
    [LocationHeight] float NULL, 

当我创建表并插入数据时发生时间错误。 列名无效。

INSERT INTO #Data
SELECT  @ServerName,
        Site.LocationLat, /*Error occur invalid column name */
        Site.LocationLong, /*Error occur invalid column name */
        Site.LocationHeight,  /*Error occur invalid column name */

4 个答案:

答案 0 :(得分:0)

如果您使用的是SQL Server,请尝试使用[]包装列名。

INSERT INTO #Data
SELECT @ServerName, [Site.LocationLat], [Site.LocationLong], [Site.LocationHeight]

答案 1 :(得分:0)

如果没有Site子句,

FROM并不意味着什么。也许你打算这样的事情:

CREATE TABLE #Data (
    SiteName varchar(255),
    [LocationLat] float NULL, 
    [LocationLong] float NULL, 
    [LocationHeight] float NULL
); 


INSERT INTO #Data (SiteName, LocationLat, LocationLong, LocationLong)
    SELECT @ServerName, s.LocationLat, s.LocationLong, s.LocationHeight, 
    FROM Site s;

这假设您有一个名为Site的表,其中包含相应的列。

答案 2 :(得分:0)

请尝试以下代码

  

CREATE TABLE #Data(       SiteName varchar(255),       [LocationLat] float NULL,       [LocationLong] float NULL,       [LocationHeight] float NULL);

**

  

INSERT INTO #Data(SiteName,LocationLat,LocationLong,   LocationHeight)       SELECT @@ ServerName,s.LocationLat,s.LocationLong,s.LocationHeight,       来自Site s;

**

答案 3 :(得分:0)

问题不在于您的#Data表,而是您的Site表。所以我们真的需要看到它的定义。我怀疑它没有LocationLat列。