2013-01-14 6 views
1

나중에 SSRS-2008 보고서를 작성하는 데 사용해야하는 쿼리가 있습니다. 이 쿼리는 많은 보고서의 일반 템플릿으로 사용됩니다.동적 IN() 연산자가있는 SQL Where 절

이 때문에 쿼리에는 많은 매개 변수가 포함되어 있으며 각 보고서는 보고서 작성기에서 그에 따라 매개 변수를 구성해야합니다. (

WHERE Users IN(@p1) AND ... 

한 보고서에 @p1 특정 사용자가 될 수 있습니다 쿼리의 WHERE 절 매개 변수에

예를 들어, IN() 연산자입니다

이 긴 소개 한 후, 내 문제가 있다는 것입니다 예 : WHERE Users IN(121,154,151)) 다른 보고서에서는 모든 사용자이 될 수 있습니다. 이 경우 그리고 이것이 내 질문 인입니다. @p1의 값은 무엇입니까?

나는 모든 사용자를 검색하고 매개 변수에 넣기 위해 다른 데이터 집합을 사용할 수 있지만 성능 문제로 인해 가능한 한 일반적인 쿼리를 유지하고 싶다는 것을 알고 싶다. 다른 옵션이 있다면? (IN('% %')과 같은 것)

고맙습니다.

답변

2

첫째을 변경하여이 작업을 수행 할 수 있습니다.

그 후 당신은 This same question of mine about list-like parameters을 유용하게 찾을 수 있습니다. 저는 며칠 전에 그것을 물었고 아주 좋은 다양한 솔루션을 생각해 내었습니다.

도움이 되길 바랍니다.

+0

먼저 칭찬에 감사 드리며 또한 사랑스럽고 행복한 삶을 기원합니다. 이 사진은 작년 결혼식에서 가져 왔습니다. 질문에 대해 - 내가 찾던 것을 발견했다고 생각합니다. Gil –

+0

@GilPeretz 새로운 세계에서 새로운 친구를 만나서 기쁩니다. Mahdi –

+0

같은, 당신을 만나는 것은 멋지다! –

1

당신은 내가 사랑이 가득 그림을 좋아하고 당신에게 행복한 삶을 기원 단지 매개 변수 모든

@p1 = "SELECT users FROM table" 
+0

보고서 작성자에서만 쿼리의 매개 변수를 처리하지 않습니다. 또한 다른 테이블 (users 테이블)을 사용하지 않고 메인 쿼리의 테이블 만 사용하고자합니다. –