有人能帮我编写下面定义的 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
有人能帮忙吗?
谢谢 Jamuna
ItemParentType
和NULL
值。我们可以假设ItemParentType
是ItemParent
,而0
应该是NULL
吗? - Lieven Keersmaekers