2014-09-20 75 views
0

我的代码,指令如何嵌套这个组?

SELECT Warehouse, Class, Sum(OnHand) AS [Number of Parts] 
    FROM Part 
    Group BY Warehouse,Class 

的仓库总是分开,我希望它有每个仓库“名单按类别手零件的每个仓库内数”和内部列表 里面,而是重复仓库 http://s16.postimg.org/golxkcdid/Untitled_1.jpg

结构 http://postimg.org/image/6exnykeod/

+0

提供给我们的表的新的SQL结构... – 2014-09-20 21:11:41

+0

林但从结构上来说,你需要更多的信息?谢谢 – 44hz 2014-09-20 21:15:04

+1

我认为你可能期望的'组'应该在应用程序中完成,而不是在sql中完成。 – 2014-09-20 21:16:52

回答

1

这可能会做你想做的事情,但最好在Access的“报告”中完成,而不是查询本身。这将是标准的做法 - -

select v.warehouse, p.class, sum(p.onhand) as [Number of Parts] 
    from part as p 
    left outer join (select warehouse, min(class) as class 
        from part 
        group by warehouse) as v 
    on p.warehouse = v.warehouse 
    and p.class = v.class 
order by p.warehouse, p.class 

要使用Access报表格式的结果,你可以在这里找到说明:http://office.microsoft.com/en-us/access-help/create-a-grouped-or-summary-report-HA010006894.aspx

+0

我们在课堂上学到的东西太过分了,我只是想能够满足这个问题“按每个仓库内的分类列出零件的数量” – 44hz 2014-09-20 21:26:33

+0

@JDMshifter您的查询确实如此。如果你想“打破”仓库,那么你通常会在Access报告中这样做。这不是任何人通常会在sql中做的事情,至少不是普通的sql。例如,在Oracle中,您可以在仓库中打开并使用sqlplus指定没有重复项,但这是一个格式问题。你的问题涉及格式化查询结果,而不是查询结果。在Access中,您使用Access报告格式化查询结果。 – 2014-09-20 21:29:26

+0

@JDMshifter你的问题是关于SQL和这个答案返回完全是预期的结果。我们不是来为你做功课的!试着找出你自己学习的东西,而不是在这里选择最简单的方法(作弊将不会帮助你未来的考试......) – 2014-09-21 08:46:02