У меня есть две таблицы MS Access, разделяющие отношения друг к другу. Их структуры похожи на следующее:Создайте сводную таблицу из двух таблиц на основе дат
tbl_Persons
+----------+------------+-----------+
| PersonID | PersonName | OtherData |
+----------+------------+-----------+
| 1 | PersonA | etc. |
| 2 | PersonB | |
| 3 | PersonC | |
tbl_Visits
+----------+------------+------------+-----------------------
| VisitID | PersonID | VisitDate | dozens of other fields
+----------+------------+------------+-----------
| 1 | 1 | 09/01/13 |
| 2 | 1 | 09/02/13 |
| 3 | 2 | 09/03/13 |
| 4 | 2 | 09/04/13 | etc...
Я хотел бы создать новую таблицу на основе VisitDate
поля, заголовки столбцов которых Visit-n, где n - 1 по количеству посещений, V isit- н -Data1, Visit- н -Data2, Visit- п -Data3 т.д.
MergedTable
+----------+----------+---------------+-----------------+----------+----------------+
| PersonID | Visit1 | Visit1Data1 | Visit1Data2... | Visit2 | Visit2Data1... |
+----------+----------+---------------+-----------
| 1 | 09/01/13 | | | 09/02/13 |
| 2 | 09/03/13 | | | 09/04/13 |
| 3 | etc. | |
Я действительно не знаю, как это сделать. Независимо от того, выполняется ли SQL-запрос или используется DAO, зацикливая записи и столбцы. Очень важно, чтобы в строке было всего 1 PersonID
, и все его данные отображаются хронологически в столбцы.
Спасибо, @ Wietze314. Я действительно мало что знаю о SQL (и я попытаюсь его изучить). Я проделал эту проблему с помощью VBA. Код появляется в отдельном сообщении, которое я сделал. http://stackoverflow.com/questions/18651668/recordset-edits-and-updates-the-wrong-record – ome