T SQL 订单和物料清单

T SQL Orders & BOMS

大家早上好,

所以我有两个表,例如order_details 和 bom_details

表存储在 2008 Microsoft SQL 服务器上的 T SQL 数据库中

order_details - 包含订单 - 示例:

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

bom_details - 包含 BOM 信息 - 示例:

+----------+--------+-------+-------+-------------------+---------------------+
|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 来实现这一目标,大多数时候加载和崩溃需要很长时间 excel!

我希望能够达到 SQL 水平,这样我就可以编写一些报告并使整个过程自动化。

这样做的最佳方式是什么?

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

对于任何感兴趣的人,我们正在使用 SAGE 1000 ERP,我们的支持公司表示,通过前端实现此目的的唯一方法是启用 MRP,但仍然无法完全满足我的要求。

试试这个查询,

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