私はパックスに同意します。特定の理由により、クエリで特定の順序でフィールドを返す必要がある場合は、必要な場所にフィールドを配置してクエリを変更します。
何らかの理由でどうしてもそのフィールドを移動する必要がある場合は、次のようなスクリプトを使用して実行できます。これにより、FIELD3がTestTableというテーブルの最初の列になります。
/* Original sample table with three fields */
CREATE TABLE [dbo].[TestTable](
[FIELD1] [nchar](10) NULL,
[FIELD2] [nchar](10) NULL,
[FIELD3] [nchar](10) NULL
) ON [PRIMARY]
/* The following script will make FIELD3 the first column */
CREATE TABLE dbo.Tmp_TestTable
(
FIELD3 nchar(10) NULL,
FIELD1 nchar(10) NULL,
FIELD2 nchar(10) NULL
) ON [PRIMARY]
GO
IF EXISTS(SELECT * FROM dbo.TestTable)
EXEC('INSERT INTO dbo.Tmp_TestTable (FIELD3, FIELD1, FIELD2)
SELECT FIELD3, FIELD1, FIELD2 FROM dbo.TestTable WITH (HOLDLOCK TABLOCKX)')
GO
DROP TABLE dbo.TestTable
GO
EXECUTE sp_rename N'dbo.Tmp_TestTable', N'TestTable', 'OBJECT'
GO
ただし、おそらくあなたの問題は、テーブルの再構築を必要としない別のアプローチで解決できると主張しています。