【发布时间】:2023-03-11 23:39:01
【问题描述】:
对于 SSRS 中的生产报告,我需要在我们的 ERP 中显示基础材料,该基础材料可以包含多个级别。
我在 INVENTPRODMETHOD 表中有一个项目,其中有一个 ProdMethodId 字段,这与一个带有“支持项目”的 INVENTPRODSUPPITEM 表相关。根据在第一个表中找到的 ProdMethodId,我得到一个 SUPPLITEMID,我需要找出这个(新)项目的 ProdMethodId 在第一个表 INVENTPRODMETHOD 等中是什么。希望你能关注我...
我的要求是我需要知道最底层的基础材料。例如:
我想查找项目 100 的基础材料。在 DMO_INVENTPRODMETHOD 表中,我可以看到 PRODMETHODID = A123
在 DMO_INVENTPRODSUPPITEMS 中,它告诉我这个 PRODMETHODID A123 的 SUPPLITEMID 是 S200
现在我需要为 S200 做同样的事情。在 DMO_INVENTPRODMETHOD 中,当我在 DMO_INVENTPRODSUPPITEMS 中查找时,我得到 PRODMETHODID E123,SUPPLITEMID 是 S400
DMO_INVENTPRODMETHOD 中的 S400 具有 PRODMETHODID Z123,但该 PRODMETHODID 在 DMO_INVENTPRODSUPPITEM 中不存在
现在我知道我需要使用 PRODMETHODID Z123 在 DMO_INVENTPRODBASEITEMS 表中查找 ITEMID
CREATE TABLE DMO_INVENTPRODMETHOD (
ITEMID VARCHAR (10) NOT NULL,
PRODMETHODID VARCHAR (10) NOT NULL,
);
INSERT INTO [dbo].[DMO_INVENTPRODMETHOD] VALUES ('100', 'A123')
INSERT INTO [dbo].[DMO_INVENTPRODMETHOD] VALUES ('S200', 'E123')
INSERT INTO [dbo].[DMO_INVENTPRODMETHOD] VALUES ('S400', 'Z123')
CREATE TABLE DMO_INVENTPRODSUPPITEMS (
SUPPLITEMID VARCHAR (10) NOT NULL,
PRODMETHODID VARCHAR (10) NOT NULL,
);
INSERT INTO [dbo].[DMO_INVENTPRODSUPPITEMS] VALUES ('S200', 'A123')
INSERT INTO [dbo].[DMO_INVENTPRODSUPPITEMS] VALUES ('S400', 'E123')
CREATE TABLE DMO_INVENTPRODBASEITEMS (
ITEMID VARCHAR (10) NOT NULL,
PRODMETHODID VARCHAR (10) NOT NULL,
);
INSERT INTO [dbo].[DMO_INVENTPRODBASEITEMS] VALUES ('BAAAB10', 'Z123')
迈克
【问题讨论】:
-
这里真正有用的是一些示例数据、所需的输出和表定义。
-
在这种情况下“不工作”是什么意思?具体并举例说明。
-
我添加了示例数据、表定义以使其更加清晰。感谢您的反馈!
标签: sql sql-server reporting-services ssrs-2008