[英]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.