任何人都可以帮助我编写一个定义如下的 sql 查询:我有两个表 Itemtype 和 Items
Itemtype
-------------------
ItemTypeID ItemParent TypeName
-------------------------------
1 0 XXX
2 1 YYY
3 1 ZZZ
4 0 SSS
5 4 GGG
Items
--------------------
ItemID ItemTypeID ItemCost
----------------------------------
1 1 5000
2 2 1000
3 4 250
4 3 2000
5 5 400
Output
---------------------------
ItemtypeName ItemCost
------------------------------
XXX 8000 (1000+5000+2000)
SSS 650 (250+400)
这是两张表:我使用 itemtypeid 加入了两张表。现在我需要显示 ItemParentId = 0 的项目,并计算 itemtypeId 和 ItemparentTypeId 与 ItemTypeID 值相同的项目的 Itemcost。
我使用 CTE 编写了一个查询,但它没有显示 ItemTypeName。
WITH it_cte AS ( select itemtypeid from ItemType WHERE
ItemType.ItemParentType IS NULL UNION ALL select i.ItemTypeid from
ItemType i INNER JOIN it_cte icte ON icte.itemtypeid = i.itemtypeid )
select ItemParentType,SUM(Items.ItemCost) as itemcost from ItemType
left join Items on ItemType.ItemTypeID = Items.ItemTypeID or
ItemType.ItemParentType= Items.ItemTypeID group by
ItemType.ItemParentType
有人可以帮忙吗?
谢谢贾穆纳