【发布时间】:2021-07-19 08:04:56
【问题描述】:
我有一张很大的汽车行程表(行程名称、经过的城市以及进出时间。表格是这样的:
| id | city1 | time1 | city2 | time2 | city3 | time3 | city4 | time4 | city5 | time5 |
|---|---|---|---|---|---|---|---|---|---|---|
| 01 | bous | 11:00 | bouh | 11:10 | bir | 11:15 | chl | 11:30 | tns | 11:45 |
| 01 | fok | 00:00 | dwa | 00:10 | zer | 00:20 | CDP | 11:30 | CHRG | 11:35 |
每个城市都来自一个州。我有第二张这样的桌子:
| city | state |
|---|---|
| bous | state1 |
| bouh | state1 |
| fok | state1 |
| dwa | state1 |
| bir | state1 |
| chl | state2 |
| tns | state2 |
| zer | state3 |
| CDP | state3 |
| CHRG | state3 |
我想要的是获取每次旅行进入某个状态的时间和退出时间,例如旅行 1:
| id | state | entry time | exit time | state | entry time | exit time |
|---|---|---|---|---|---|---|
| 01 | state1 | 11:00 | 11:15 | state2 | 11:30 | 11:45 |
【问题讨论】:
-
Access SQL 提供了 first 和 last 聚合函数来返回组中的第一个和最后一个值。
-
@NicholasHunter 解释更多关于访问和 sql 的 iam 新手
-
@NicholasHunter 很好,这个函数垂直搜索我想水平搜索,而且我不会得到所有的 ghe 状态,而不仅仅是第一个
-
数据结构未规范化。这可能需要用于水平搜索的自定义 VBA 函数。为什么行程 1 和状态 1 的退出时间不是 11:45? fok 和 dwa 处于什么状态?展开数据样本和输出示例。你显示时间,但日期呢?
标签: sql vba database ms-access