제품별로 그룹화 된 날짜 이전에 이루어진 재고 이동을 추가하고 싶습니다. 문서 유형에 따라 다른 표의 날짜를 확인해야합니다.쿼리의 다른 테이블에서 동일한 조건 확인
기본적으로 송장, 불필요한 인보이스 및 기타 유형의 세 가지 유형의 이동이 있습니다. 해당 문서의 정보는 3 개 테이블에 있습니다
- 인보이스 :
DOC
,DATE
, ... - NULLED_INV :
DOC
,DATE
, ... - 기타 :
DOC
,DATE
, ....
그리고 나서 다른 테이블의 모든 움직임을 집결지 :
- 무브먼트 (
PRODUCT_ID
,DOC
,DOC_TYPE
,QUANTITY
...)
그래서 나는에 DOC_TYPE
에 따라 해당 테이블에 날짜를 확인해야합니다 움직임의 QUANTITY
을 더하기 위해
PRODUCT_ID TOTAL_MOVEMENTS_BEFORE_XXXX
1001 10
1002 25
...
하나를 : DOC_TYPE = 2
다음 NULLED_INV
에서 날짜를 확인하고 DOC_TYPE = 3
경우 다음 OTHERS
의 날짜를 확인하고 제품별로 그룹화 된 모든 움직임을 추가하는 경우 DOC_TYPE = 1
다음, INVOICES
에 DOC
의 날짜를 확인하는 경우 예를 들어 같은 쿼리를 만드는 방법에 대한 아이디어?
WHERE
절에 IF를 사용해 보았지만 작동하지 않았습니다.
'DocType'이라는 새로운 컬럼을 가진'Invoices' 테이블을 하나만 생성해야합니다. 이 세 개의 테이블 대신 송장 유형을 나타 내기 위해 이름을 'InvoiceType'으로 지정했습니다. 그런 다음이 두 테이블에 대해 쿼리를 작성하는 것이 훨씬 더 쉬울 것입니다. –
감사합니다 Mahmoud, 테이블 INVOICES 테이블에 의해 다른 사람이 공유하지 않는 몇 가지 열이 예를 들어, 그래서 내가 여러 테이블에있는 다른 모든 문서를 포함하는 경우 여러 비어 있고 또한 열을 추가해야 할 것입니다. 인보이스에 사용되지 않는 인보이스, 다른 유형의 문서에만 사용 – ednincer