당신이 찾고있는 무엇하지만 좋은 시작이 될 수 있다면 나도 몰라 :
DECLARE @var table(rownum int, rowkey varchar(60), ALIAS varchar(80))
INSERT INTO @var SELECT row_number() over (ORDER BY employeeName), employeeName, cast(getdate() AS varchar(12))+employeeName FROM Table1
DECLARE @query varchar(500)
DECLARE @rowkey varchar(60), @i int, @max int
SET @i = 1
SET @max = (SELECT count(*) FROM @var)
SET @query = ''
WHILE @i <= @max
BEGIN
SET @rowkey = (SELECT rowkey FROM @var WHERE rownum = @i)
SET @query = 'select employeeName as "'+(SELECT ALIAS FROM @var WHERE rowkey = @rowkey)+'" from Table1 where employeeName = '''[email protected]+''';'
exec(@query)
SET @i = @i + 1
END;
당신은 같은 변수 이름을 동적 SQL을 사용해야합니다. 즉, SQL을 문자열로 작성한 다음 실행해야합니다. –
나는 그렇게 생각하지 않는다. 두 개 이상의 행을 반환하는 쿼리의 경우 모호성 문제가있을 수 있습니다. –