分组查询结果

时间:2018-01-29 17:16:28

标签: sql ms-access

我在Access表单中有一个子表单,它是以下查询的结果

SELECT c.clientName, o.year, o.id, o.bill_id, o.comment
FROM clients c, orders o
WHERE o.c_id=c.id

查询工作正常,但视图不如我想要的那样好。问题是,是否可以通过以下方式输出数据?

------------------------------------------------------------
|           |        year1         |         year2         |
------------------------------------------------------------
|Name       |o.id|o.bill_id|comment||o.id|o.bill_id|comment|
------------------------------------------------------------

所以说订单是按年份分组的。我只需要一个可以研究的方向。

感谢您的建议。

1 个答案:

答案 0 :(得分:0)

你知道Year1和Year2是什么,或者你能把它们放在桌子里吗?然后,您可以使用iif语句获取所需的6列:

SELECT c.clientName, max(iif(o.year="2017",o.id)) as "2017 ID", max(iif(o.year="2017", o.bill_id)) as "2017 Biid ID) ....
FROM clients c, orders o
WHERE o.c_id=c.id
Group by c.clientname

当然,您不能使用交叉表查询来获取多个列。