我想将根据产品分组的日期前的库存移动相加。我必须根据文档类型检查不同表格中的日期。检查查询中不同表格中的相同条件
基本上我有3种类型的动作:发票,无效发票和其他类型的文件。这些文件的信息是在3个表:
- 发票:
DOC
,DATE
,... - NULLED_INV:
DOC
,DATE
,... - OTHERS:
DOC
,DATE
,...
然后我h AVE所有的动作在另一张表:
- MOVEMENTS(
PRODUCT_ID
,DOC
,DOC_TYPE
,QUANTITY
...)
所以我需要检查在对应表的日期取决于DOC_TYPE
为了加起来运动的QUANTITY
。例如,如果DOC_TYPE = 1
然后检查DOC
的日期INVOICES
,如果DOC_TYPE = 2
然后检查日期NULLED_INV
如果DOC_TYPE = 3
然后检查OTHERS
日期,并添加了按产品分组的所有动作:
PRODUCT_ID TOTAL_MOVEMENTS_BEFORE_XXXX
1001 10
1002 25
...
任何如何做这样的查询的想法?
我试图在WHERE
子句中使用IF,但它不起作用。
您应该只创建一个具有新列“DocType”的“发票”表,如您将其命名为或“InvoiceType”,以指示发票类型而不是这三个表。然后,对这两个表编写查询会容易得多。 – 2012-07-24 08:26:46
谢谢马哈茂德,事情是表INVOICES有几列不被表OTHERS共享的列,所以如果我包括在同一个表中的所有其他文件,我会有几个空,我也不得不添加列不会被发票使用的发票,只适用于其他类型的文件 – ednincer 2012-07-24 17:27:44