2017-08-17 6 views
0

私は3つのフィールド、ticketNumber、attendee、およびtableNumberを持つテーブルを持っています。MS-AccessでデータをピボットするためのSQLクエリ

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

私はフィールドとして各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を使用して、私が必要とテーブルを取得する方法を知っているが、私は思います私が取り組んでいるコードでそれを使うことができるように、それをクエリで行う方法を知りたいのです。フィールドを選択せず​​にこのクエリを書く方法がわかりません(私の場合は、出席者を選択してください)。また、空のセルを使用せずにテーブルを生成することは可能ですか?

ありがとうございました:)

+0

[MS Accessでのデータのピボット]の可能複製(https://stackoverflow.com/questions/16546305/pivoting-data-in-ms-access) – JRG

答えて

0

の表は、適切にソートし、私は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;

関連する問題