T SQL订单& BOMS

时间:2016-07-08 11:17:14

标签: sql sql-server tsql crystal-reports sage-erp

早安全,

所以我有两张桌子,例如order_details和bom_details

这些表存储在2008 Microsoft SQL Server

上的T SQL数据库中

order_details - 包含订单 - 示例:

+----------+-----------+-----+----------+
| order_no | warehouse | QTY | product  |
+----------+-----------+-----+----------+
|   080808 |        03 |  10 | 85080-00 |
+----------+-----------+-----+----------+

bom_details - 包含物料清单信息 - 示例:

+----------+--------+-------+-------+-------------------+---------------------+
|top_product| top_wh | usage | level | component_product | component_warehouse |
+----------+--------+-------+-------+-------------------+---------------------+
| 85080-00  |     03 |    15 |    01 | 10000-00          |                  01 |
| 85080-00  |     03 |    12 |    02 | 10000-01          |                  01 |
| 85080-00  |     03 |    16 |    03 | 10000-02          |                  01 |
+----------+--------+-------+-------+-------------------+---------------------+

我希望能够输入订单号,例如:

080808

它会告诉我我需要什么,例如

+-------------+--------+--------------+-------------------+--------------+--------------+
| top_product | top_wh | qty_required | component_product | component_wh | qty_required |
+-------------+--------+--------------+-------------------+--------------+--------------+
| 85080-00    |     03 |           10 | 10000-00          |           01 |          150 |
| 85080-00    |     03 |           10 | 10000-01          |           01 |          120 |
| 85080-00    |     03 |           10 | 10000-02          |           01 |          160 |
+-------------+--------+--------------+-------------------+--------------+--------------+

我们的采购部门目前通过一些非常令人讨厌的vlookup来实现这一目标,在大多数情况下需要加载和崩溃才能实现这一目标!

我希望能够在SQL级别实现这一点,这样我就可以编写一些报告并自动完成整个过程。

最好的方法是什么?

我也可以访问Crystal Report Designer 2008,但我不知道如何通过这个前端实现这一目标。

对于任何有兴趣的人,我们都在使用SAGE 1000 ERP,而我们的支持公司已经表示,通过前端实现这一目标的唯一方法是启用MRP,但仍然没有达到我要求的目的。

1 个答案:

答案 0 :(得分:1)

尝试此查询,

SELECT 
    bd.top_product, 
    bd.top_wh, 
    od.QTY, bd.component_product, 
    bd.component_warehouse, 
    bd.Usage * od.Qty AS qty_required 
FROM order_details od
INNER JOIN bom_details bd ON bd.top_product = od.product