2010-04-09 2 views
1

우선, 나는 여전히 MS Access 데이터베이스로 고전적인 ASP (vbScript)에서 작업하고 있습니다. 그리고 예, 저는 그 구식을 알고 있지만, 저는 여전히 이것을 할 수 있기를 희망합니다!ASP, 다중 열을 사용하여 조건으로 데이터베이스 정렬

그래서 지금 내 문제 : (VBScript를 포함) ASP를 사용

프로젝트

ContactName StartDate EndDate Complete 
Mitch 2009-02-13 2011-04-23 No 
Eric 2006-10-01 2008-11-15 Yes 
Mike 2007-05-04 2009-03-30 Yes 
Kyle 2009-03-07 2012-07-08 No 

와 같은 MS Access 데이터베이스 :

예로 들어 다음 표를 가지고 백엔드, 다음 논리를 사용하여이 테이블을 정렬 할 수 싶습니다.

이 탭을 정렬하고 싶습니다. 르, 날짜별로, 그러나, 주어진 프로젝트가 완료되었는지 여부에 따라 "StartDate"또는 "EndDate"특정 행에 대한 참조로 사용할 싶습니다.

그래서 이것이 내가 달성하기 위해 희망하고 무엇을 더 그것을 무너 뜨리는 : 프로젝트에 대한

곳 = 완료 "예", 정렬의 목적으로 참조 "종료 날짜".

프로젝트의 경우 Complete = "No"인 경우, 정렬을 위해 참조 "StartDate"를 참조하십시오. 나는이 규칙에 따라 위의 테이블을 정렬한다면

그래서, 출력은 다음과 같습니다

프로젝트 I 날짜 옆에 별표를 넣었습니다 *

ContactName StartDate EndDate Complete 
1 Eric 2006-10-01 2008-11-15* Yes 
2 Mitch 2009-02-13* 2011-04-23 No 
3 Kyle 2009-03-07* 2012-07-08 No 
4 Mike 2007-05-04 2009-03-30* Yes 

이해야 위 표의 정렬에 사용됩니다.

참고 : 이것은 실제로 실제로해야 할 일의 단순화 된 버전입니다.하지만 이것을 알아낼 수만 있다면 나머지는 스스로 할 수있을 것이라고 생각합니다.

어떤 도움도 대단히 좋습니다. 나는 이걸로 오래도록 힘들어했습니다!

고맙습니다!

답변

2
select * 
from Projects 
order by iif(Complete = 'Yes', EndDate, StartDate) 
+0

처럼 보일 것이다, 감사합니다! – Mitch

0

귀하의 MS 액세스 쿼리는이 아름답게 근무

SELECT Table1.ContactName, Table1.StartDate, Table1.EndDate, Table1.Complete 
FROM Table1 
ORDER BY IIf([Complete]="Yes",[EndDate],[StartDate]);