0
我在进行层次结构查询时遇到问题。层次结构SQL服务器加入两个不同的表
我有MS SQL数据库如下:
表A - 订单与订单代码,物品,数量:有文章集的引用
OP | ART | QTY
A | X |100
B | Y |200
表B,但文章可以制成其他物品,如果存在一个孩子的引用(可能需要去3级深):
ART | ART2 |QTY
X | U | 20
X | O | 10
X | Z | 30
Y | Q | 20
Y | W | 15
Y | E | 30
U | Z | 10
我想是这样的:
A.OP |LEVEL| ART | B.ART2 |QTY
A | 2 | X | Z |(100*20*10)=2000
A | 1 | X | O |(100*10) =1000
A | 1 | X | Z |(100*30) = 3000
B | 1 | Y | Q |(200*20) = 4000
B | 1 | Y | W |(200*15) = 3000
B | 1 | Y | E |(200*30) = 6000
B | 1 | Y | Z |(200*10) = 2000
我已经做了一两件事:
WITH X AS (
SELECT
firstlvl.ART,
1 AS LEVEL,
firstlvl.ART2,
firstlvl.QTY,
QTY AS PARENTQTY
FROM B AS firstlvl
WHERE firstlvl.ART='X'
UNION ALL
SELECT secondlevel.ART,
EL.LEVEL +1,
secondlevel.BDT_MLC,
secondlevel.ART2,
secondlevel.QTY,
EL.PARENTQTY AS PARENTQTY
FROM B AS secondlevel
INNER JOIN X AS EL
ON secondlevel.ART = EL.ART2)
SELECT * FROM X
但现在我不知道如何加入量与表A也不如何运行此查询第一表中的所有项目。
任何人都可以帮助我吗?
非常感谢!
为了使响应者更容易,请让SQL小提琴http://sqlfiddle.com/ – Alex