2017-01-09 4 views
0

아래 상황에서 저를 도와 줄 수 있습니까? 2 개의 테이블이 있습니다.숫자 값의 범위를 기반으로 조인 만들기

표 1은 다음과 같습니다

enter image description here

내가 따라 각 작업에 대한 등급을 조회하는 표 1 표 2에 가입 하시겠어요 : 한편,이 표 2 enter image description here

상한선과 하한선에. 일부 그러나

이 문은 위의 관리
FROM table2 LEFT JOIN table1 ON (table2.[score] >= table1.[lower limit]) AND (table2.[score] <= table1.[upper limit]) 

은 범위에 따라 그들과 합류하기 :

여기에 사랑스러운 답변의 일부를 개념화, 나는 이런 식으로 뭔가를 보이는 문을 마련하기 위해 관리 알 수없는 이유로 왼쪽 테이블의 일부 행이 누락되어서 그 행이 무엇인지 알 수 없었습니다. 예 (테이블 2의 2000 행이지만 쿼리의 경우 1800)

조인이 원인 인 것처럼 보입니다. 조인을 같은 왼쪽 결합으로 변경하면 쿼리에 2000 개의 행이 표시됩니다.

누군가가 이것에 대해 조언 해 줄 수 있습니까?

감사합니다, 은 Guang 용인 아마도

+0

점수가 59 점과 60 점 사이입니까? 아니면 빈 학년, <0 or > 100? 귀하의 조인은 이러한 점수를 제외 할 수 있습니다 - 왼쪽 조인이 모든 레코드를 결과로 강제 할 것으로 기대할지라도. –

답변

0

이 에게 그럼 당신이 할 수있는 1. 테이블을 미러링 기본적으로 1 ~ 100의 값으로 테이블을 만들고 범주에 그들 각각을 할당하는 것이 훨씬 깨끗한 것

SELECT Table1.Grade, Table2.Score 
FROM Table2 LEFT JOIN Table1 ON Table2.Score = Table1.Score 

이 표 2는 확실히 수동으로 점수를 inputing하는 경우, 당신은이 같이 간단하게 데이터 매크로를 사용할 수 0

(100) 사이의 모든 정수를 포함합니다 : 012 으로 값 = IIf([Score]>=70,"Good",IIf([Score]<=59,"bad","so so"))

는 그 다음 설정 필드 액션을 사용하여 변경

전에 표 도구 >> 표 >>로 이동

이름을 = Table2.Grade

을 설정이^점수를 입력 할 때마다 자동으로 성적 항목이 채워집니다.

SELECT Table2.Score, 
IIf([Score]>=70,"Good",IIf([Score]<=59,"bad","so so")) AS Grade 
FROM Table2; 

행운을 빕니다 :

또 다른 옵션은 다음과 같이 각 행을 평가하고 적절한 등급을 할당 할 것이다, 쿼리를 만드는 것입니다!

관련 문제