2012-05-10 91 views
0

我有两个表,一个类别表和一个项目表。栏目表具有以下字段:SQL:如何根据另一个表中的类别显示一个表中的项目,并计算每个类别中的总项目数

project_No 
    cat_ID 
    cat_Description 

的项目表具有以下字段:

project_No 
    cat_ID 
    item_Id 
    item_description 
    item_Qty 
    item_cost 

现在我需要编写一个显示每个类别中的所有项目的查询,但我也想来计算每个类别中物品的数量

现在输出必须首先列出该类别中的物品之前的类别,然后列出该类别中的所有物品,并给出该类别物品的总量,然后是另一个类别和项目,例如

Beverages 
    Coffee   $1.50  4 
    Tea    $2.50  4 
    Total Items    2   
    Tin Food 
     Peas    $0.50 10 
     Meatballs  $1  20 
     total items    2  

我需要写这个SQL,并将其放在我的TADOQuery组件内的德尔福

请谁能帮助我

+2

对于SQL问题,最好从每个表中发布具有代表性的示例行和预期结果的伪表。 – Sorpigal

+1

并设置[SQL小提琴](http://sqlfiddle.com/)甚至更好。 – RedFilter

回答

0

选择category_table.Cat_Description,item_table.Item_Desctiption,SUM(Item_table。 ITEM_COST)作为TOTAL_COST,SUM(item_Table.Item_Qty)作为Total_Qty 从Items_table加入Category_Table 上items_Table.Cat_Id = Category_Table.Cat_Id和items_Table.Project_no = Category_table.Project_no

这将让你的结果:

饮料咖啡$ 1.50 4 饮料茶$ 2.50 4 田食品豆豆$ 0.50 10 田食品肉丸$ 1.00包装20

我总结的成本,但如果你只是想成本上市,从选项中删除总和。

+0

这个答案中唯一缺失的是,在每个类别(例如饮料)之后,必须也是总项目,必须计算每个类别中的项目数量 – Japster

+0

个人而言,我可能会将其放入Excel并执行一个数据透视表,但也许有更好的方法来做到这一点。 – Azzna

+0

我考虑过使用虚拟表格,因为我不认为我能够在不使用虚拟表格的情况下获得我想要的结果 – Japster

相关问题