选择内部选择

时间:2015-01-09 10:01:40

标签: sql

这里有个新手。所以请善待: - )

我有两张表Item& Item Entries。 关系是:Item.No = ItemEntries.No

Item Entries Table我的列为Qty, Entry type, Purchase Amount, Sales Amount 我想要一份如下所示的报告,

Item No. | Opening Quantity | Purchase Amount | Sales Amount

计算开仓库存我总结了数量字段,结果与预期一致。没问题。现在,从该数据集中,我想运行一个子查询,该子查询计算/总结作为第一个数据集的一部分的物品的购买金额,并类似地计算销售金额。

Select(Item No.,Sum(IE.Quantity) As Quantity, Select(......Purchase Amount),Select(....Sales Amount)

我希望我能够向你们表达我的怀疑。

4 个答案:

答案 0 :(得分:0)

类似的东西:

SELECT ItemNo, sum(quantity), purchaseAmount, SalesAmount FROM Item i INNER JOIN ItemEntities ie on i.no = ie.no GROUP BY ItemNo, PurchaseAmount, SalesAmount;

答案 1 :(得分:0)

我相信(如果我理解你想要的话)这是你问题的解决方案

Select Item.No ,
    Sum(IE.Quantity) As Quantity,
    (Select(......Purchase Amount)) As ColumnName1 ,
    (Select(....Sales Amount)) As ColumnName2

答案 2 :(得分:0)

根据您的需要“总计第一个数据集中的项目的购买金额和销售金额的类似”,我认为您要实现的目标是项目表中每个项目的一行,总和对于每个数量,销售金额和购买金额。如果是这样,那么您可以简单地使用“分组依据”子句,该子句将结果组合在一起,这些结果具有指定列的匹配值。

SELECT I.no, SUM(IE.qty), SUM(IE.purchase_amount), SUM(IE.sales_amount)
FROM item I JOIN item_entries IE 
ON I.no = IE.no
GROUP BY I.no;

有关详细信息和一些示例,请参阅group_by_clause

N.B。在此示例中并不严格要求项表的连接,但如果您正在生成报告,我怀疑您可能希望获得类似描述的内容 - 在这种情况下,您需要将这些列添加到组中条款也是。

答案 3 :(得分:0)

您可能需要三列的总和 每个Item.No

的ItemEntries表(Qty,PurchaseAmount,SalesAmount)
Select A.No,
  Sum(B.Qty),
  Sum(B.Purchaseamount),
  Sum(B.Salesamount)
From Item A,
  Itementries B
Where A.No = B.No
Group By A.No;