Sql BOM递归CTE/输入数据以完成查询
我进行了递归cte查询,以获取特定零件号的物料清单,但我需要的是询问我需要BOM表的零件号。它的工作原理很好,只是如果我不能很容易地查询不同的零件号,它就不起作用了 查询如下:Sql BOM递归CTE/输入数据以完成查询,sql,common-table-expression,recursive-query,Sql,Common Table Expression,Recursive Query,我进行了递归cte查询,以获取特定零件号的物料清单,但我需要的是询问我需要BOM表的零件号。它的工作原理很好,只是如果我不能很容易地查询不同的零件号,它就不起作用了 查询如下: WITH BOM_CTE(COMPONENT, PARENT,QTY,LVL) AS (SELECT i.fcomponent, i.fparent, i.fqty, 1 AS LVL FROM dbo.inboms AS i INNER JOIN dbo.invcur ON i.fparent = dbo.invc
WITH BOM_CTE(COMPONENT, PARENT,QTY,LVL)
AS (SELECT i.fcomponent, i.fparent, i.fqty, 1 AS LVL
FROM dbo.inboms AS i INNER JOIN dbo.invcur ON i.fparent = dbo.invcur.fcpartno
AND i.fparentrev = dbo.invcur.fcpartrev INNER JOIN dbo.inmastx ON dbo.invcur.fcpartno
=dbo.inmastx.fpartno AND dbo.invcur.fcpartrev = dbo.inmastx.frev
WHERE(i.fparent = '124-5130')
UNION ALL
SELECT i.fcomponent, i.fparent, i.fqty, BOM_CTE_1.LVL + 1 AS INC_LVL
FROM dbo.inboms AS i INNER JOIN BOM_CTE AS BOM_CTE_1 ON i.fparent=BOM_CTE_1.COMPONENT)
SELECT B.PARENT, B.COMPONENT, B.QTY, B.LVL
FROM BOM_CTE AS B LEFT OUTER JOIN
BOM_CTE AS C ON B.PARENT = C.COMPONENT
GROUP BY B.PARENT, B.COMPONENT, B.QTY, B.LVL
ORDER BY B.LVL
如您所见,CTE第一部分中的WHERE子句将为我提供结果,但此查询无法在Excel中以图形方式表示,因此我无法使用参数来查询零件号
关于如何实现这一点,您有什么想法吗?不清楚您在问什么-是“如何将Excel中的参数传递到我的查询中”?您还没有显示要查询的表或其内容的任何示例数据,所以很难说。提及您的数据库引擎和版本通常也是一个好主意。我只是查询一个名为inboms的表,其中包含一列上的父数据作为fparent,子数据作为fcomponent。正在运行MS SQL 2008 R2。