【问题标题】:Return ColumnNames from Select query in SQL Server?从 SQL Server 中的 Select 查询返回 ColumnNames?
【发布时间】:2014-06-01 10:04:22
【问题描述】:

首先我编写了带连接的选择查询来检索所需的列。之后使用 Top 0 我得到了所需的列。 会是这样的,

我不想要任何记录。但我只需要这样的列名的结果,

示例代码:

select Top 0 *tablename*.* from my *tablename*
(some joins and where conditions)

tablename => 包含动态列(在进行连接之后)

【问题讨论】:

  • 您是否正在寻找 PIVOT?从你的问题很难说。
  • @MitchWheat 不,我不期待枢轴
  • 悬念要了我的命.....
  • 不太清楚,但是如果你从查询中得到列名,比如 syscolumns,也不需要动态 sql,只需加入 systables。
  • @TonyHopkinson 它不是 sys 列,列和表名是动态的...

标签: sql-server-2008 columnname


【解决方案1】:

灵感来自@Tony Hopkinson 的建议

SELECT c.name FROM sys.tables t 
 INNER JOIN sys.columns c
    on c.object_id = t.object_id
    WHERE t.name = @table

【讨论】:

    【解决方案2】:

    如果您可以使用游标(即您可以使用 Transact-SQL),那么 sp_describe_cursor_columns (http://technet.microsoft.com/en-us/library/ms182755(v=sql.105).aspx) 可能会对您有所帮助。

    如果您想从 SQL Server 外部执行此操作,所有数据库访问技术都提供某种 API 来访问结果集的元数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-09
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多