这个问题稍微有点难,
有点类似于,我的这个问题
现在一个主表有多个子表,我们现在需要将主表的信息和他对应的多个子表的最后一条信息,整合到一个表中
整合成
那这个问题肯定是要写视图了,不然你就要每次更改子表都都更新一下主表的信息的
视图大致的写法
- with cte as
- (
- SELECT 主表.ID,姓名,备注,类型,日期
- FROM "主表"
- inner join "主表_子表1"
- on 主表.ID=主表_子表1.主表_ID and 主表_子表1.ID=(select max(ID) from 主表_子表1 as a where a.主表_ID=主表.ID)
- )
- select cte.ID,姓名,备注,类型,日期,版本,测试
- from cte
- inner join "主表_子表"
- on cte.ID=主表_子表.主表_ID and 主表_子表.ID=(select max(ID) from 主表_子表 as b where b.主表_ID=cte.ID)
- ;
复制代码 具体的做法和例子,请看附件的示例工程
|