여기에 문제가 있습니다.Sql 서버 저장 프로 시저의 결과 집합에 연결
정규화 된 데이터를 표준 데이터 집합으로 변환하는 저장 프로 시저가 있습니다.
보기로 구성된 일부 데이터와 다른 매개 변수가 다른 열을 반환하는 저장 프로 시저에 제출되는 저장 프로 시저의 두 데이터 집합에 대해보고해야합니다.
예 내보기 같은 것을 포함하면
:
ID Title Status Date
1 How To Party Like a rockstar Approved 7/15/1989
2 Too much of a good thing Approved 7/25/2001
3 Needs More Cowbell Denied 11/11/2011
4 Here Today Gone Tommorrow Approved 8/13/1969
5 The way She moves Approved 12/13/2011
그리고 하나 paramater 반환과 절차 실행 :
ID Do you like the ice Cream? How much would you pay for the ice cream?
1 Yes 2
2 Yes 5
3 Yes 7
4 No 2
5 No 3
그리고 다른 매개 변수를 반환과 동일한 절차 실행 :
ID Total Number of Bell Peppers Total Number of Apples Total Number of Oranges
1 7 6 6
2 6 8 8
3 32 7 5
4 7 3 1
5 12 1 1
저장 프로 시저 인해에 인라인 SQL로 수행 할 수 없음을 염두에
ID Title Status Date Do you like the ice Cream? How much would you pay for the ice cream? Total Number of Bell Peppers Total Number of Apples Total Number of Oranges
1 How To Party Like a rockstar Approved 7/15/1989 Yes 2 7 6 6
2 Too much of a good thing Approved 7/25/2001 Yes 5 6 8 8
3 Needs More Cowbell Denied 11/11/2011 Yes 7 32 7 5
4 Here Today Gone Tommorrow Approved 8/13/1969 No 2 7 3 1
5 The way She moves Approved 12/13/2011 No 3 12 1 1
키핑을 : 내가지고 가야 할 방법은 ID 열이 데이터 세트를 결합하는 데 사용할 수있는 키라고 가정
정규화의 성격과 정규화의 변환에 대해 설명하고 있으며, 저장 프로 시저가 전달 될 매개 변수에 따라 다양한 수의 열을 반환한다는 사실 때문에 테이블 변수 udf로 수행 할 수 있다고 생각하지 않습니다. 그것은 실행됩니다 (누군가가 이것에 대해 틀리게 증명할 수 있고 역동적 인 컬럼 테이블 값을 가진 udf의 방향으로 나를 가리킬 수 있다면 매우 감사 할 것입니다)
만약 내가보기 및 두 저장 프로 시저를 하나의 저장 프로 시저로 가져 와서 그 방식으로 데이터 집합을 반환 할 수 있다면 그것은 내 궁극적 인 목표가 될 것입니다.
나는 또한 임시 분산 쿼리는이 서버를 켤 수 없습니다 (나의 결정) 스튜어트 워스의 대답에서 약간의 도움으로
해상도
내가 일을 할 수 있었다 언급 할 필요가 그것. 모든 것에 대한 나의 초기 문제점은 각 열의 크로스 탭 테이블에 대해 열이 동적이었습니다. 그 일환으로 나는이 경우 9 제가가 짓고 있어요하는 항목을 알 수 있습니다 매개 변수는 쉼표 deliminated 문자열로 열을 반환하는 함수 ...
DECLARE
@PivotColumns VARCHAR(MAX)
SET @PivotColumns = dbo.fnGetFormPivotColumns(9)
을 만들었다 있도록 . 거기에서 그렇게 나는이 함께했다 동적으로 임시 테이블을 구축 할 수있는 기본 SP의 기능 만 반복했다 :
IF object_id('tempdb..#temp_DEP') IS NOT NULL
DROP TABLE #temp_DEP
CREATE TABLE #temp_DEP (APPLICATION_ID int)
EXEC ('ALTER TABLE #temp_DEP ADD ' + @PivotColumns)
INSERT INTO #temp_DEP
EXEC GetFormCrossTab 9
간단한 SELECT * #temp_DEP는 내가 갖는 것을 보여준다로부터 정확히 I 필요.
다른 매개 변수에 대한 프로세스를 반복하면 동일한 저장 프로 시저 내에서 두 데이터 집합을 얻을 수 있습니다.
난 당신이로 실행되는 문제가 시저에서 변수 출력라고 생각합니다. http://stackoverflow.com/questions/653714/how-to-select-into-temp-table-stored-procedure 일관된 모양 인 경우 테이블에 결과를 삽입하고 그 결과를 함께 정리할 수 있습니다. . 그렇지 않으면, 당신은 복사 - 붙여 넣기 상속을 함께 논리의 모든 비트를 가지고 찾고 있다고 생각합니다. – billinkc
유감스럽게도 Ad Hoc Distributed 쿼리가 꺼져 있고 나는 openrowset/opendatasource 옵션을 사용할 수 없으므로이 옵션을 사용할 수 없습니다. – Patrick