함수에서 사용할 수있는 쿼리가 필요하며 n 값의 모든 순열을 검색합니다. 그리고 k = 1..n 인 모든 길이의 k의 순열이 필요합니다.k 값 (k = 1 ... n)의 모든 순열 얻기
EDIT # 1 : 확장 된 샘플 입력 및 결과로 입력에 2 대신 3 개의 값이 있음 - 그러나 입력 값의 수는 1에서 n까지 다양 할 수 있습니다.
예 :
입력 : 복수의 열
한 열의 값 테이블Value (nvarchar(500))
------
Ann
John
Mark
편집 # 2 : I는 다음과 같은 출력
중 살 수출력 # 1 : 테이블 하나의 열에 연결된 값
Ann
John
Ann,John
John,Ann
Ann,Mark
Mark,Ann
John,Mark
Mark,John
Ann,John,Mark
Ann,Mark,John
John,Ann,Mark
John,Mark,Ann
Mark,Ann,John
Mark,John,Ann
출력 # 2 : permutat의 ID를 가진 테이블 이온/조합 값 순서
id value order
--------------------
1 Ann 1
2 John 1
3 Ann 1
3 John 2
4 John 1
5 Ann 2
주 :
- 이 SQL 서버에서 작동해야 2008 R2
- 함수 내에서 작동해야 입력에 초과해서는 안 것으로 구별 요소
- 최대 개수 5 - 성능 또는 기타 이유로 문제가되는 경우
- 입력 테이블의 값 열은 200자를 초과 할 가능성이 없습니다. 성능 또는 기타 이유로 중요 할 경우 내가 Generating Permutations in T-SQL 포럼 스레드를 발견했습니다하지만 K = 1을 할 것으로 기대 출력 포맷뿐만 아니라, 힘을주고 그것을 수정하지 못했다 인터넷을 통해 검색을 많이 후 THER 이유
... n 순열도.
대부분 SQL 이외의 언어로 작성된 유사한 문제에 대한 솔루션이 많이 있지만이 특정 문제를 해결하는 데 도움이되는 해결책을 찾을 수 없습니다.
당신은 무엇을 시도? 아마도 선택된 필드가 서로 같지 않은 제약 조건을 가진 n- 웨이 자체 조인입니까? –
@RaymondHettinger : 질문에 지정된 링크에서 코드를 수정하려고했습니다. 또한 다양한 다른 솔루션을 수정하려고 시도했지만 많은 기사의 저자가 순열과 결합을 오해했습니다. 그리고 이것은 둘 다 혼합되어 있습니다. 다중 조인과 같은 N- 조인? 아니요, 제가 값의 수를 알지 못하기 때문에 작동하지 않습니다 (질문 k = 1 ... n에서 언급 한 바와 같이). –
그때 힘들 수 있습니다. 변수 길이의 필드를 반환하는 매개 변수가있는 SQL 쿼리에 대해서는 알지 못합니다. –