簡體   English   中英

用於MS-Access中數據透視的SQL查詢

[英]SQL Query for Pivoting data in MS-Access

我有一個包含三個字段的表:ticketNumber,與會者和tableNumber。

例如

ticketNumber | attendee | tableNumber
------------ | -------- | -----------
     A1      | alex     |     3  
     A2      | bret     |     2  
     A3      | chip     |     1  
     A4      | dale     |     2  
     A5      | eric     |     2  
     A6      | finn     |     3

我想生成一個表,其中每個tableNumber作為一個字段,而該tableNumber的名稱列表。

1  |  2   | 3
-----|------|-----
chip | bret | alex 
     | dale | finn
     | eric |

我一直在處理的查詢是:

transform attendee
select attendee
from registration
group by tableNumber, name
pivot tableNumber

這給了我:

attendee |  1   |  2   |  3 
---------|------|------|----- 
chip     | chip |      | 
bret     |      | bret |
dale     |      | dale |
eric     |      | eric |
alex     |      |      | alex
finn     |      |      | finn

我知道如何使用PivotTableView獲取所需的表,但我想知道如何通過查詢進行操作,以便可以在正在使用的代碼中使用它。 我不確定如何在不選擇字段的情況下編寫此查詢(在我的情況下,選擇與會者)。 還有可能生成沒有空單元格的表嗎?

謝謝 :)

該表需要一個唯一的標識符字段,該字段將正確排序,我認為不能依賴ticketNumber。 應使用自動編號。 然后嘗試:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM