2009-07-18 2 views
1

다음 필드가있는 ms 액세스의 "form"테이블이 있습니다. formno, location, status.MS 액세스에서 JSP 결과 세트 - 위치 이름을 얻는 방법?

내가 계산하는 보고서를 만들려면 :

  1. 각 위치에서
  2. 상태 = "보류"와 양식 (열)없이 총 각 위치에서 양식 (열)의 총 없음 .

나는이 쿼리와 함께 할 것을 시도 :

select count(formno) as totalforms 
from form 
group by location; 

select count(formno) as pendingforms 
from form 
group by location 
WHERE status = 'pending'; 
+0

를 참조하십시오. – shahkalpesh

답변

0
SELECT Location, COUNT(FormNo) AS TotalForms, 
SUM(IIF(status = "pending", 1, 0)) AS Pending 
FROM FORM GROUP BY Location 

이 도움이됩니까?

0

두 번째 SQL 문에는 Where 절이 잘못된 위치에 있습니다. 다음 중 하나와 같아야합니다.

SELECT Count(form.formno) AS CountOfformno, form.location 
FROM form 
GROUP BY form.location, form.status 
HAVING (((form.status)='pending')); 

SELECT Count(form.formno) AS CountOfformno, form.location 
FROM form 
WHERE (((form.status)='pending')) 
GROUP BY form.location; 

기본적으로 열을 기준으로 그룹화하고 기준을 설정하려면 Having Clause를 사용하십시오. Where 절은 group by 절 앞에옵니다.

SQL 구문을 배우려면 먼저 디자인 뷰에서 디자인 눈금을 사용하고 데이터 시트보기에서 결과를 얻은 후 SQL보기로 전환하십시오.

0

양식은 예약어이며 대괄호 (http://support.microsoft.com/kb/286335)로 묶어야합니다. 나는 문제를 일으킬 계속하기 때문에 테이블의 이름을 바꾸는 것이 좋습니다. (*) 또한 테이블의 모든 레코드를 포함 할 경우 사용할 수 있습니다 카운트

select location,count(formno) as totalforms 
from [form] 
group by location 

select location, count(formno) as pendingforms 
from [form] 
WHERE status = 'pending' 
group by location 

주 : 다른 사람이 질문을 & 적절하게 질문 제목을 편집하는 방법 In SQL is there a difference between count(*) and count(<fieldname>)

관련 문제