2013-10-31 3 views
0

바코드 판독기를 사용하여 인벤토리 시스템을위한 간단한 데이터베이스를 구성하고 있습니다. 인벤토리를 추가하는 하나의 양식과 인벤토리를 제거하는 하나의 양식이 있습니다. 각 조정은 추가 또는 제거 테이블에 열을 추가합니다.두 개의 하위 쿼리에 대한 액세스 조인

각 항목의 ID와 연결된 각 항목의 합계 값을 반환하는 추가 및 제거에 대한 쿼리를 만들었습니다. 추가 및 제거 테이블에 가입하여 현재 수량의 차이를 계산할 수 있습니다.

내 하위 쿼리 추가와 하위 쿼리 제거에 연결하는 중 문제가 있습니다.

추가 :

SELECT Items.description, Count(Trans_Add.s) AS Quantity 
FROM Items INNER JOIN Trans_Add ON Items.ID = Trans_Add.s 
GROUP BY Items.description; 

제거 : 내 새로운 쿼리의 FROM 절에서 대한 중 하나에 별명을 지정하고 작동하지 않습니다 그들에 가입하려고 할 때마다

SELECT Items.description, Count(Trans_Remove.s) AS Quantity 
FROM Items INNER JOIN Trans_Remove ON Items.ID = Trans_Remove.s 
GROUP BY Items.description; 

.

+0

"새 쿼리"를 게시 할 수 있습니까? –

답변

2

시도 : 당신이 Items 테이블의 항목 수량이 무엇인지 언급하지 않았기 때문에

SELECT Items.ID, Items.Description, (Items.TotalCount + A.Quantity - B.Quantity) as OnHandQty 
FROM Items INNER JOIN 
(SELECT Items.ID, Count(Trans_Add.s) AS Quantity 
FROM Items INNER JOIN Trans_Add ON Items.ID = Trans_Add.s 
GROUP BY Items.description 
) A 
ON Items.ID = A.ID 
INNER JOIN (
SELECT Items.description, Count(Trans_Remove.s) AS Quantity 
FROM Items INNER JOIN Trans_Remove ON Items.ID = Trans_Remove.s 
GROUP BY Items.description 
) B 
ON Items.ID = B.ID 

나는 TotalCount라는 이름의 필드를했다. 따라서 그에 따라 적절하게 변경하십시오. 즉, Items 테이블의 항목 수에 대한 오른쪽 필드 이름에 따라 변경하십시오.

+0

지금까지 답변 해 주셔서 감사합니다. 나는 당신이 내게 준 것을 구현했고 쿼리 표현 "items.id = a.id ..."에서 누락 된 연산자에 대한 구문 오류가 발생했습니다 – user2941143

+0

필드 이름은 SELECT 문 및 ON 절에 따라 ItemID입니다 당신은 ID를 사용하고 Items.ItemID로 수정하십시오 –

+0

결코 신경 쓰지 않아도됩니다. – user2941143