2017-02-24 1 views
0

내 액세스 데이터베이스에 쿼리를 쓰려고합니다. 이 데이터베이스에는 1000 개의 레코드가있는 tblPCL이라는 테이블이 있고 일부 환자에게는 3-4 개의 PCL 점수가 있습니다.가장 가까운 날짜로 null이 아닌 점수를 선택하는 방법

Null이 아니며 오늘 날짜에 가장 가까운 PCLScore가있는 각 환자에 대해 tblPCL에서 하나의 레코드를 선택하는 쿼리를 작성해야합니다. 나는 여러 가지 조합을 시도해 왔지만 이것이 내 시도에서 가장 가까운 것입니다. 나는 여기에 다른 포럼에서 코드를 수정하려고했지만 내가 뭘 잘못하고 있는지 혼동스러워.

또한 쿼리의 다른 변수에 대한 기준도 있습니다. PCLScore에서 "Null Not Is"조건이 있으며 PCLStatus에 점수가있는 레코드 만 가져 오기 때문에 = 1이 있습니다.

내 테이블 : enter image description here

오류 : 여기 enter image description here

내가 작성하는 시도 구문입니다.

(select from [tblPCL_PHQ]![VisitDate] where [tblPCL_PHQ]![VisitDate] > Date() 
order by blPCL_PHQ]![PCLScore]) 

는 SQL 기술의 나의 부족을 용서하고 고급에 어떤 도움을 주셔서 감사하십시오.

+0

mysql은 ms 액세스와 동일하지 않습니다. – trincot

+0

"환자 당"이라고 쓰십시오 ... 환자 ID는 어디에 있습니까? 전체 SQL을 게시하십시오 (쿼리의 "SQL보기"에서 복사하십시오). – trincot

+0

내 답변이 도움이된다면, 당신이 받아 들인 대답으로 표시했다면 크게 감사 할 것입니다 :) –

답변

0

select from가 눈에 띄지 않습니다. 적절한 열 이름을 사용하여 select [column_name1, column_name2, ...]으로 읽어야합니다. where 절은

WHERE VisitDate = (SELECT MAX(VisitDate FROM [tableName] WHERE PCLScore IS NOT NULL) 

을 사용하여 가장 최근 날짜가있는 행을 동일한 테이블에 있다고 가정합니다.

+0

도와 주셔서 대단히 감사합니다! =) –

관련 문제