[英]SQL Query for Pivoting data in MS-Access
I have a table with three fields: ticketNumber, attendee and tableNumber. 我有一个包含三个字段的表:ticketNumber,与会者和tableNumber。
eg 例如
ticketNumber | attendee | tableNumber ------------ | -------- | ----------- A1 | alex | 3 A2 | bret | 2 A3 | chip | 1 A4 | dale | 2 A5 | eric | 2 A6 | finn | 3
I'd like to generate a table with each tableNumber as a field and the list of names sitting at that tableNumber. 我想生成一个表,其中每个tableNumber作为一个字段,而该tableNumber的名称列表。
1 | 2 | 3 -----|------|----- chip | bret | alex | dale | finn | eric |
The query I've been working on is: 我一直在处理的查询是:
transform attendee select attendee from registration group by tableNumber, name pivot tableNumber
This gives me: 这给了我:
attendee | 1 | 2 | 3 ---------|------|------|----- chip | chip | | bret | | bret | dale | | dale | eric | | eric | alex | | | alex finn | | | finn
I know how to get the table I require using PivotTableView but I'd like to know how to do it with a query so that I can use it in a code I'm working on. 我知道如何使用PivotTableView获取所需的表,但我想知道如何通过查询进行操作,以便可以在正在使用的代码中使用它。 I'm unsure of how I can write this query without having to select a field (in my case, select attendee).
我不确定如何在不选择字段的情况下编写此查询(在我的情况下,选择与会者)。 Also is it possible to generate the table without the empty cells?
还有可能生成没有空单元格的表吗?
Thank you :) 谢谢 :)
The table needs a unique identifier field that will properly sort and I don't think the ticketNumber can be relied on for that. 该表需要一个唯一的标识符字段,该字段将正确排序,我认为不能依赖ticketNumber。 An autonumber should serve.
应使用自动编号。 Then try:
然后尝试:
TRANSFORM First(Table1.attendee) AS FirstOfattendee SELECT DCount("*","Table1","tableNumber=" & [tableNumber] & " AND ID<" & [ID])+1 AS RowSeq FROM Table1 GROUP BY DCount("*","Table1","tableNumber=" & [tableNumber] & " AND ID<" & [ID])+1 PIVOT Table1.tableNumber;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.