가정하자 나는이 내 SQL 서버 (2008)에서 다음 두 테이블 DB :SQL Server는 집계 변수 열/출력 기능 만들기
표 :
Col1: ... Map:
1 ... a
2 ... a
3 ... b
4 ... c
5 ... c
매퍼 :
Map: Out1: Out2: ...
a ab ac
b ab bd
c cd ac
d cd bd
... (whatever) ...
이제 테이블의 값을 나타내는 함수를 만들면 다음 그러나
SELECT
M.Out1,
SUM(T.Col1)
FROM
Table1 as T,
Mapper as M
WHERE
T.Map = M.Map
GROUP BY
M.Out1
나는 것/반환하는 Mapper
의 어느 칼럼 그룹에 의해을 지시 할 수있는 매개 변수를 포함 할 수 있기를 (즉은, Out1
제한뿐만 아니라 돌아갈 수 불가 쿼리는 가능하면 Map
또는 Out2
등으로 그룹화됩니다. 사용자 입력의 일부 형식을 기반으로합니다 (나는 col로 입력한다고 가정합니다. 이름을 정의 입력으로 사용)).
동적 SQL을 사용하여이 작업을 수행 할 수 있지만 SQL 주입을 경고하는 게시물을 보았습니다. 더 좋은 방법이 있습니까 ??
감사합니다.
1) 동적으로 생성되는 임시 테이블에 sp_executesql
를 사용하고 결과를 저장 :
dyanmic sql에 QUOTENAME을 사용하는 경우 괜찮습니다. 열 이름 (변수)을 QUOTENAME으로 묶으십시오. –
굉장, @SeanLange, 들어 본 적이 없어! - 지금 그걸 들여다보기! - 감사!! –