SQL:在Sql表中查找第一行第一列

时间:2010-10-16 18:44:41

标签: sql row

我有一个数据库表UserTable

CREATE TABLE [UserTable](
    [ID] [int] NULL,
    [Name] [nvarchar](50) NULL,
    [City] [nvarchar](50) NULL
) ON [PRIMARY]

此表包含以下数据

ID             Name                     City
----------- --------------------------------
1             Vijendra                  Delhi
2             Singh                     Noida
3             Shakya                    New Delhi

现在提问有没有办法找出第一列第一行而没有指定列名(我不想使用任何列名),这就像找出矩阵表示法一样,那就是[1,1]位置。

我可以找到第一列第一行

Select Top 1 City from UserTable 

我不想使用列名(City)。

有可能吗? 如果是,请告诉我如何实现这一目标。

3 个答案:

答案 0 :(得分:0)

通常,关系数据库没有给定查询中用户未指定的行或列排序的概念。

答案 1 :(得分:0)

通过编写一些代码并使用动态sql,可以快速完成:

    declare @field varchar(100), @SQL varchar(500)
    set @field = (SELECT top 1 COLUMN_NAME FROM INFORMATION_SCHEMA.Columns WHERE TABLE_NAME = 'UserTable')
    set @SQL = 'select top 1 ' + @field + ' from UserTable'
    exec (@SQL)

当然可能有更聪明的方法,但这是一个开始

您还可以将所有这些包装在存储过程中,以使其更容易阅读

希望有所帮助

答案 2 :(得分:0)

有关从information_schema.columns中选择列名的信息,请参阅sql select with column name like

还有一篇文章Perform SELECT without column names,其中包含第3,4和6列。