Я согласен с Пакс. Если по конкретной причине вам необходимо вернуть поля в определенном порядке в запросе, просто измените запрос, поместив поле в нужное место.
Если по какой-либо причине вам нужно любой ценой , чтобы переместить это поле, вы можете сделать это с помощью скрипта, подобного следующему, который делает 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
Однако я настаиваю на том, что, возможно, ваша проблема может быть решена с помощью другого подхода, который не требует таблицы реструктуризации.