我在数据库中有一个股票表:

根据股票表中的数据,我希望输出更详细的数据:

股票数量代表A项的总库存数量。
位置Qty表示每个位置A项的总数量
子位置Qty表示项目A的总数量,每个子位置的特定位置。
我想知道是否有一种方法可以在一个查询中获得详细的输出,还是应该单独进行每个查询,并编写一些代码来连接每个结果。
我可以写:
然后在后面的代码中,为数据视图中的输出编写一些代码。
实际上,我正在寻找一个查询,它返回一个datatable中的所有数据并将其绑定到datagridview。
任何其他解决办法都是受欢迎的。
我正在使用AS400,但是如果在其他数据库管理系统中有解决方案,请回答,我将尝试(如果可能的话)在我的数据库管理系统环境中工作。
发布于 2016-03-23 10:38:50
试试这个:
SELECT t3.Item, t3.StockQty,
t2.Location, t2.LocationQty,
t1.SubLocation, t1.SubLocationQty
FROM (
SELECT Item, Location, SubLocation, Sum(Qty) as SubLocationQty
From Stock
Group By Item, Location, SubLocation) AS t1
JOIN (
SELECT Item, Location, Sum(Qty) as LocationQty
From Stock
Group By Item, Location
) AS t2 ON t1.Item = t2.Item AND t1.Location = t2.Location
JOIN (
SELECT Item, Sum(Qty) as StockQty
From Stock
Group By Item
) AS t3 ON t1.Item = t3.Item 发布于 2016-03-23 10:52:03
不如:
SELECT Item, Location, SubLocation, Sum(Qty) as SubLocationQty
From Stock
Group By Item, Location, SubLocation with rollup如果您在rdbms中有汇总,这是非常简单的。只要用字符串'Total‘替换'null’,你就成了家庭成员……
发布于 2016-03-23 10:37:12
为此您可以使用多个子查询。
SELECT Item,
(SELECT StockQty
FROM (SELECT Item, Sum(Qty) AS StockQty
FROM Stock
GROUP BY Item)) AS StockQty
(SELECT LocationQty
FROM (SELECT Item, Location, Sum(Qty) AS LocationQty
FROM Stock
GROUP BY Item, Location)) AS LocationQty,
(SELECT SubLocationQty
FROM (SELECT Item, Location, SubLocation, Sum(Qty) AS SubLocationQty
FROM Stock
GROUP BY Item, Location, SubLocation)) AS SubLocationQty
FROM Stockhttps://stackoverflow.com/questions/36175652
复制相似问题