Учитывая следующую таблицу:
CREATE TABLE #TestTable
(
Code varchar(10) NOT NULL,
Parent varchar(10) NULL
);
INSERT INTO #TestTable
SELECT 'Parent', Null UNION ALL
SELECT 'Child', 'Parent';
Я хочу иметь возможность преобразовать это:
SELECT *
FROM #TestTable child
INNER JOIN #TestTable parent ON ( parent.Code = child.Parent );
в это:
SELECT child.Code, child.Parent, parent.Code, parent.Parent
FROM #TestTable child
INNER JOIN #TestTable parent ON ( parent.Code = child.Parent );
Использование sp_describe_first_result_set
Я могу приблизиться, используя этот оператор:
EXEC sp_describe_first_result_set
N'SELECT *
FROM #TestTable child
INNER JOIN #TestTable parent ON ( parent.Code = child.Parent )', NULL, 2;
, но он вернет исходную таблицу как #TestTable
вместо child/parent
.