对于一个人的地址变更记录表笔:合并和显示领域分布在多个行一行
+----------+----------+----------+--------+-----------------+-------------------+-----------------+
| DetailID | PersonID | ChangeID | TypeID | ChangeDateTime | OldDetail | NewDetail |
+----------+----------+----------+--------+-----------------+-------------------+-----------------+
| 1 | 10 | 1 | 7 | 7/11/2017 15:48 | 510 S Spring St | 115 E 3rd St |
| 2 | 10 | 2 | 7 | 7/6/2017 13:27 | 3351 Westwood | 510 S Spring St |
| 3 | 10 | 2 | 9 | 7/6/2017 13:27 | San Diego | Los Angeles |
| 4 | 10 | 3 | 7 | 6/29/2017 10:38 | 661 Shatto Pl | 3351 Westwood |
| 5 | 10 | 3 | 9 | 6/29/2017 10:38 | Los Angeles | San Diego |
| 6 | 10 | 4 | 7 | 3/3/2017 13:14 | 3835 W 8th St | 661 Shatto Pl |
| 7 | 10 | 5 | 7 | 11/22/2016 9:23 | 123 Park | 3835 W 8th St |
| 8 | 10 | 5 | 9 | 11/22/2016 9:23 | San Francisco | Los Angeles |
| 9 | 10 | 6 | 7 | 8/3/2016 14:50 | 6650 Franklin Ave | 123 Park |
| 10 | 10 | 6 | 9 | 8/3/2016 14:50 | Los Angeles | San Francisco |
+----------+----------+----------+--------+-----------------+-------------------+-----------------+
DetailID
是PK。 ChangeID
代表每次只是地址或地址+城市更改。 TypeID
代表更改类型:地址更改7,城市更改9。
我想结合这些记录,使我有1行每变化描述地址和城市的变化,而不是分散在多行。如果该人在同一个城市内移动,我希望从上一次记录/更新城市时复制该城市。
所需的输出:
+----------+------------------------+--------------------------------+------------------------------+
| ChangeID | ChangeDateTime | OldDetail | NewDetail |
+----------+------------------------+--------------------------------+------------------------------+
| 1 | 7/11/2017 15:48 | 510 S Spring St, Los Angeles | 115 E 3rd St, Los Angeles |
| 2 | 7/6/2017 13:27 | 3351 Westwood, San Diego | 510 S Spring St, Los Angeles |
| 3 | 6/29/2017 10:38 | 661 Shatto Pl, Los Angeles | 3351 Westwood, San Diego |
| 4 | 3/3/2017 13:14 | 3835 W 8th St, Los Angeles | 661 Shatto Pl, Los Angeles |
| 5 | 11/22/2016 9:23 | 123 Park, San Francisco | 3835 W 8th St, Los Angeles |
| 6 | 8/3/2016 14:50 | 6650 Franklin Ave, Los Angeles | 123 Park, San Francisco |
+----------+------------------------+--------------------------------+------------------------------+
阅读底部到顶部,因为排序是下降的日期时间,用最新的地址为最顶层。因此,这个人首先从位于洛杉矶富兰克林大道6650号的住处开始,然后经过一系列改变,最终终于在洛杉矶第三街115号。
我无法尝试的代码给我这个
我不明白你的问题,部分原因是因为你只把'Address'和'City'随处可见,而不是使用这将允许某人understan实际值你的逻辑。 –
更新地址 – AS91
你确定你没有切换新旧? – dnoeth