簡體   English   中英

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

[英]SQL:Find First Row First Column in Sql Table

我有一個數據庫表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 

我不想使用列名(城市)。

可能嗎? 如果是,請告訴我我們如何實現這一目標。

通常,關系數據庫不具有用戶在給定查詢中未指定的行或列的排序概念。

您可以通過編寫一些代碼並使用動態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)

當然可能還有更多聰明的方法,但這只是一個開始

您還可以將所有這些包裝在存儲過程中,以使其更容易閱讀

希望對你有幫助

請參閱帶有列名的sql select,例如從information_schema.columns中選擇列名。

另一篇文章執行不帶列名的SELECT會得到第3、4和6列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM