【问题标题】:How do I use SELECT on columns that don't have column names in SQL Server 2008 R2?如何在 SQL Server 2008 R2 中没有列名的列上使用 SELECT?
【发布时间】:2014-04-04 13:04:14
【问题描述】:

这是我的代码:

SELECT DISTINCT Column 3
FROM [TestTable].[dbo].data

“第 3 列”出现错误。错误是“3”附近的语法不正确。

我的表没有列名,所以我不知道如何在第三列上运行 Select 命令。

【问题讨论】:

  • 一个表代表一个关系,所以应该总是有一个列名。
  • 我支持你 Pablo,我认为你是对的。从阅读那篇文章来看,我似乎必须给我的专栏起个名字?
  • 但仅供参考,所有表列将始终具有名称
  • 现在我很困惑。我没有明确命名任何列。鉴于我刚刚从平面文件导入了一些数据,并且没有采取任何操作来命名列,如何在第三列上运行我的选择命令?

标签: sql-server sql-server-2008-r2


【解决方案1】:

如果你第三列的名字确实是'Column 3',你需要运行这个查询:

SELECT DISTINCT [Column 3]
FROM [TestTable].[dbo].data

【讨论】:

    【解决方案2】:

    AFAIK 不可能有一个没有列名的表

    运行

    USE TestTable
    GO
    
    select *
    from INFORMATION_SCHEMA.COLUMNS
    where TABLE_NAME='data'
    

    获取列名

    【讨论】:

    • 我得到的结果是 Column_NAME 是“Column 0”、“Column 1”等......所以我仍然不明白为什么我的代码在使用“Column 3”时不起作用"(在所有情况下都没有引号,我只是在我的 SO 回复中使用它们)。
    • 如果你得到了"Column 0",那么Column 0是列名,你只需用方括号括起来,就像SELECT [Column 0] FROM [TestTable].[dbo].data一样。
    猜你喜欢
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-22
    • 1970-01-01
    • 2011-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多