Tôi không thể tạo lại lỗi.
Có lẽ tôi không hiểu vấn đề.
Phần sau hoạt động tốt đối với tôi trong SQL Server 2005, với cột "foo" bổ sung xuất hiện trong kết quả lựa chọn thứ hai:
IF OBJECT_ID('tempdb..#Results') IS NOT NULL DROP TABLE #Results
GO
CREATE TABLE #Results ( Company CHAR(3), StepId TINYINT, FieldId TINYINT )
GO
select company, stepid, fieldid from #Results
GO
ALTER TABLE #Results ADD foo VARCHAR(50) NULL
GO
select company, stepid, fieldid, foo from #Results
GO
IF OBJECT_ID('tempdb..#Results') IS NOT NULL DROP TABLE #Results
GO