-1
是否可以動態更改結果集列順序?TSQL:動態更改選擇結果列順序
的僞代碼示例:
select [city], [state], [country]
from mystuff
result order 2,1,3
使得結果集將是
state | city | country
California, LA, US
是否可以動態更改結果集列順序?TSQL:動態更改選擇結果列順序
的僞代碼示例:
select [city], [state], [country]
from mystuff
result order 2,1,3
使得結果集將是
state | city | country
California, LA, US
,列順序由SELECT列表來確定。如果出於某種原因必須保持完整的查詢,則可以將其用作派生表。例如:
SELECT [city], [state], [country]
FROM (fixedquery) as X
你可以試試下面一樣,它會幫助你...
查詢:
Declare @order as varchar(100), @Query varchar(1000), @Query2 varchar(1000)
set @order = 123
While len(@order) > 0
begin
set @Query = IsNull(@Query,'') +
case substring(@order, 1,1)
when 1 then 'city'
when 2 then 'state'
when 3 then 'country'
end +
Case when len(@order) > 1 then ',' else '' end
set @order = substring(@order, 2,len(@order))
end
set @Query2 = 'select ' + @Query + ' from mystuff'
Exec (@Query2)
輸出:
If you give order as 123 then
City -- State -- Country as result
If you give order as 213 then
State -- City --Country as result
If you give order as 231 then
State -- Country -- City as result
檢查它出...
@ user1939553:我已經添加了一個查詢作爲答案嘗試它... – Pandian