2010-07-01 5 views
0

그룹화는 쿼리의 :MS 액세스 여기 select 문

SELECT [Lab Occurrence Form].[1 0 Preanalytical (Before Testing)],Count([Lab Occurrence Form].[1 0 Preanalytical (Before Testing)]) AS [CountOf1 0 Preanalytical (Before Testing)] 
FROM [Lab Occurrence Form] 
WHERE ((([Lab Occurrence Form].[Occurrence Date]) Between [Forms]![Meeting_Reasons_Frequency]![Text4] And [Forms]![Meeting_Reasons_Frequency]![Text2])) 
GROUP BY [Lab Occurrence Form].[1 0 Preanalytical (Before Testing)] 
HAVING Count([Lab Occurrence Form].[1 0 Preanalytical (Before Testing)])<>0 

UNION SELECT [Lab Occurrence Form].[2 0 Analytical (Testing Phase)], Count([Lab Occurrence Form].[2 0 Analytical (Testing Phase)]) AS [CountOf2 0 Analytical (Testing Phase)] 
FROM [Lab Occurrence Form] 
WHERE ((([Lab Occurrence Form].[Occurrence Date]) Between [Forms]![Meeting_Reasons_Frequency]![Text4] And [Forms]![Meeting_Reasons_Frequency]![Text2])) 
GROUP BY [Lab Occurrence Form].[2 0 Analytical (Testing Phase)] 
HAVING Count([Lab Occurrence Form].[2 0 Analytical (Testing Phase)])<>0 

union 

SELECT [Lab Occurrence Form].[3 0 Postanalytical (After Testing)], Count([Lab Occurrence Form].[3 0 Postanalytical (After Testing)]) AS [CountOf3 0 Postanalytical (After Testing)] 
FROM [Lab Occurrence Form] 
WHERE ((([Lab Occurrence Form].[Occurrence Date]) Between [Forms]![Meeting_Reasons_Frequency]![Text4] And [Forms]![Meeting_Reasons_Frequency]![Text2])) 
GROUP BY [Lab Occurrence Form].[3 0 Postanalytical (After Testing)] 
HAVING Count([Lab Occurrence Form].[3 0 Postanalytical (After Testing)])<>0 

UNION SELECT [Lab Occurrence Form].[4 0 Other], Count([Lab Occurrence Form].[4 0 Other]) AS [CountOf4 0 Other] 
FROM [Lab Occurrence Form] 
WHERE ((([Lab Occurrence Form].[Occurrence Date]) Between [Forms]![Meeting_Reasons_Frequency]![Text4] And [Forms]![Meeting_Reasons_Frequency]![Text2])) 
GROUP BY [Lab Occurrence Form].[4 0 Other] 
HAVING Count([Lab Occurrence Form].[4 0 Other])<>0 
ORDER BY 1, 2; 

는 다음과 같습니다 뭔가 생성

1 0 Preanalytical (Before Testing) CountOf1 0 Preanalytical (Before Testing) 
1.11 Other-reject per practice 1 
1.11 Other-req form marked Validity Only 1 
1.11 Other-req form only, no specimen 3 
1.11 Other-spec sent by mistake 1 
1.11 Other-Test Req marked validity only 1 
1.11 Other-validity only 3 
1.11 Other-validity only-TP updated 1 
1.3 QNS-Quantity Not Sufficient 103 
1.4 Tests Missed/ Wrong Test Ordered 1 
1.4 Tests Missed/ Wrong Test Ordered & 1.11 Other-data entry-dup tests 2 
1.4 Tests Missed/Wrong Test Ordered 3 
1.5 Patient Info. entered Incorrectly 1 
1.6 Test Requisition Missing 22 
1.6 Test Requisition Missing & 1.7 Specimen Lost 2 
1.6 Test Requisition Missing-CSRM 1 
1.8 Specimen not handled/processed correctly & 1.10 Operator Error(?) 1 
1.8 Specimen not handled/processed correctly,1.10 Operator Error & 1.11 Other-no THC INSD recovery 1 
1.9 QNS- Specimen Spilled in transit 88 
2.1 Delay in Testing/resulting 1 
2.1 Delay in Testing/resulting & 2.22 Instrument Problem 4 

내가 그룹에 원하는 수

하여 결과를 요약을 1.11 기타의 무리가있는 대신, 나는 그들을 요약하여 얻고 싶습니다 :

1.11 11 
1.3 103 
1.4 4 

그래서 내가해야 할 일은 첫 번째 열의 처음 4자를 선택하고 첫 번째 열로 그룹화하고 두 번째 열에서 합계를 수행하는 것입니다. 이 select 문

답변

1

사용 발()

?val("1.11 Other-validity only-TP updated") 

1.11 

또한 쿼리에서 작동하는 저를 도와주세요.

+0

헤이 ramou! 미안 해요 어떻게 내 코드를 통합 할 것이라고 내 코드에서 보여줄 수 있습니까? –

1

어쩌면 :

SELECT left(TestType, 4), COUNT(*) FROM 
(SELECT [Lab Occurrence Form].[1 0 Preanalytical Before Testing)] As TestType, 
Count([Lab Occurrence Form].[1 0 Preanalytical (Before Testing)]) AS [CountOf1 0  Preanalytical (Before Testing)] 
FROM [Lab Occurrence Form] 
WHERE ((([Lab Occurrence Form].[Occurrence Date]) Between 
[Forms]![Meeting_Reasons_Frequency]![Text4] And 
[Forms]![Meeting_Reasons_Frequency]![Text2])) 
GROUP BY [Lab Occurrence Form].[1 0 Preanalytical (Before Testing)] 
HAVING Count([Lab Occurrence Form].[1 0 Preanalytical (Before Testing)])<>0 
UNION 
SELECT [Lab Occurrence Form].[2 0 Analytical (Testing Phase)], 
Count([Lab Occurrence Form].[2 0 Analytical (Testing Phase)]) AS 
[CountOf2 0 Analytical (Testing Phase)] 
FROM [Lab Occurrence Form] 
WHERE ((([Lab Occurrence Form].[Occurrence Date]) Between 
[Forms]![Meeting_Reasons_Frequency]![Text4] And 
[Forms]![Meeting_Reasons_Frequency]![Text2])) 
GROUP BY [Lab Occurrence Form].[2 0 Analytical (Testing Phase)] 
HAVING Count([Lab Occurrence Form].[2 0 Analytical (Testing Phase)])<>0 
union 
SELECT [Lab Occurrence Form].[3 0 Postanalytical (After Testing)], 
Count([Lab Occurrence Form].[3 0 Postanalytical (After Testing)]) AS 
[CountOf3 0 Postanalytical (After Testing)] 
FROM [Lab Occurrence Form] 
WHERE ((([Lab Occurrence Form].[Occurrence Date]) Between 
[Forms]![Meeting_Reasons_Frequency]![Text4] And 
[Forms]![Meeting_Reasons_Frequency]![Text2])) 
GROUP BY [Lab Occurrence Form].[3 0 Postanalytical (After Testing)] 
HAVING Count([Lab Occurrence Form].[3 0 Postanalytical (After Testing)])<>0 
UNION 
SELECT [Lab Occurrence Form].[4 0 Other], Count([Lab Occurrence Form].[4 0 Other]) 
AS [CountOf4 0 Other] 
FROM [Lab Occurrence Form] 
WHERE ((([Lab Occurrence Form].[Occurrence Date]) Between 
[Forms]![Meeting_Reasons_Frequency]![Text4] And 
[Forms]![Meeting_Reasons_Frequency]![Text2])) 
GROUP BY [Lab Occurrence Form].[4 0 Other] 
HAVING Count([Lab Occurrence Form].[4 0 Other])<>0) A 
GROUP BY left(TestType, 4)