如何从分组中选择*?

时间:2015-08-06 08:18:33

标签: ms-access group-by

select 
    OrderNo, 
    Sum(QtyIn) as QuantityIn, 
    Sum(QtyOut) as QuantityOut 
from 
    tbl_Assign 
group by 
    OrderNo

我想从表中选择*也从表中选择。怎么做?

2 个答案:

答案 0 :(得分:3)

要在所有列上分组,并且不能使用*,您必须列出所有列,并且每个不像Sum这样的函数的列必须包含在组中。< / p>

因此,如果您的数据库中有其他字段,例如OrderName,OrderedBy,您可以像这样执行一个组:

Select
  OrderNo,
  OrderName,
  OrderBy,
  Sum(QtyIn) as QuantityIn,
  Sum(QtyOut) as QuantityOut
From
  tbl_Assign
Group By
   OrderNo, OrderName, OrderBy

答案 1 :(得分:1)

以下内容将为tbl_Assign中的每一行创建一行。 每行还将显示订单的摘要信息。

这可能不是您所需要的,但无论如何理解它都很有用。

SELECT T1.*, T2.* 
FROM 
    ( select * FROM tbl_Assign ) AS T1
    LEFT JOIN ( select 
                    OrderNo, 
                    Sum(QtyIn) as QuantityIn, 
                    Sum(QtyOut) as QuantityOut 
                from 
                    tbl_Assign 
                group by 
                    OrderNo
               ) AS T2
    ON T1.OrderNo = T2.OrderNo

哈维