2010-04-09 2 views
0

사용자가 모든 문제, 미해결 문제 또는 닫힌 문제를 라디오 단추로 선택할 수있는 보고서를 생성해야합니다. 내보기에는 isClosed 비트 열이 있습니다. 내가했던 모든 문제 라디오 상자를 가지고 있지 않은 경우 만 수행SQL Where 절 다른 매개 변수를 기반으로하는 조건부 할당

SELECT * 
FROM MyView 
WHERE isClosed = @ViewClosedRecords 

그러나 나는 isClosed = @ViewClosedRecords 조 건 @ViewAllRecords = true을 제거해야합니다. 어떻게하면 좋을까요? 사용자가 라디오 버튼에서 "모든 문제"를 선택하면

+0

난다 머리. 분명히 그 당시의 그 하나. – jamone

답변

3
SELECT * 
FROM MyView 
WHERE @ViewAllRecords OR isClosed = @ViewClosedRecords 

친절,

+0

나는 이것을 시도하고 쿼리 빌더가 "잘못된 열 이름이 참"이라고 말한 다음'(isClosed = @ViewClosedRecords) OR (ProjectID = @RequestedProjectID) AND (true = @ViewAllRecords)'으로 변경하지만 여전히 오류가 발생합니다. – jamone

+0

조금 편집 .. 다시 시도하십시오. –

1
select * 
from MyView 
WHERE isClosed = @ViewClosedRecords 
OR @ViewAllRecords 

그리고 사실에 @ViewAllRecords 매개 변수를 설정합니다.

1
WHERE 
(@ViewAllRecords = false AND isClosed = @ViewClosedRecords) 
OR 
(@ViewAllRecords = true) 
1

다음은 모든 행에 isClosed = @ViewClosedRecords을 제공합니다. @ViewAllRecords = true이면 모든 행을 반환하고 isClosed은 무시합니다.

SELECT * 
FROM MyView 
WHERE isClosed = @ViewClosedRecords 
    OR @ViewAllRecords = true 
+0

부울로 사실을 동일시하지 않는 몇 가지 이유가 있지만 문자열로 설정 한 후 = '사실'작동합니다. – jamone

1
WHERE (@ViewAllRecords <> true AND isClosed = @ViewClosedRecords)