학생 (테이블 행)을 필터링하는 데 사용되는 외래 키가 많은 Student라는 테이블이 있습니다. 하나 이상의 언어를 말할 수있는 학생으로많은 필터를 사용하는 SQL Server 테이블 행
StudentId GenderId DegreeId NatioanlityId
1 2 2 3
....
가의 Sudent 표이
StudentId LangaugeId
1 1
1 2
1 3
그리고 학생 수와 같은 언어 테이블에 연결되어 있습니다 :
이 테이블의 구조는 같다 시험을 위해 하나 또는 여러 과목을 선택했습니다 :
StudentId ExamId
1 1
1 2
....
내 asp.net 페이지에서 st 예를 들어, Ajax 을 사용하여 확인란을 통해 udents 학생 1, 학위 1,2 언어로 말하기 여성과 남성의 성별을 가지고 ... 나는 사용자 정의 테이블을 사용하여 저장된 proc의 행을 필터링하고, 나는 IF 문을 많이 사용해야합니다. 이 경우
if(EXISTS(SELECT DegreeId FROM @DegreeTable))
if(....)
else
if(...)
가 어떻게 모든 IF 문을 방지 할 수 있습니다 (() @GenderTable FROM GenderId을 선택 EXISTS)? 나는 5 개 이상의 필터를 가지고있다. 지루하다. 어떤 아이디어라도 있으십니까?
미리 감사드립니다.
왜 "성별"에 대한 조회 표가 있습니까? – Prisoner
DB를 쿼리하여 확인란 옵션을 생성합니까, 아니면 페이지에 고정 배선되어 있습니까? 또한 언어에 대해 하나 이상의 언어를 검사 할 수있는 것처럼 보입니다. 여러 언어가 선택되어 있다면 두 언어를 사용하는 학생을 선택하겠습니까? –
맞습니다. Joel입니다. 학생은 하나 또는 여러 언어로 필터링 할 수 있습니다. 문제는 성별 검사가 아닐 수 있습니다 : 예를 들어 언어별로 필터링하고 성별 검사, 학위 검사, 저장된 proc의 필터 결합 ... 알 겠어? –