一张表就叫做Total表吧
Total表结构
id    number primary key
aid   number
bid   number
cid   number
-------------------
以下三张表和Total表通过外键关联
A表结构
aid   number primary key
name  varchar2(200)
.....B表结构
bid   number prrmary key
name varchar2(200)
......C表结构
cid   number primary key
name varchar2(200)
.....
------------------
以下三张表保存的是上面三张表的修改记录
A_update
id    number primary key
aid   number
name  varchar2(200)
updateTime  dateB_update
id   number primary key
bid  number
name  varchar2(200)
updateTime  dateC_update
id  number primary key
cid number
name  varchar2(200)
updateTime  date
需求是给一个时间,比如说是“2012-05-12 23”,假如说A_update、B_update、C_update三张表任意一张表有和输入时间相对应的记录,就把update表中相关的信息查出来,如果没有update表中没有相关的记录就直接使用A、B、C三张表的数据。表达的貌似不明朗,举个例子,
给定时间“2012-05-12 23”
正常情况:三张update表没有记录,那么查询的结果是A、B、C和Total关联后得到的数据
不正常情况:
第一种情况,A_update表中有记录,而其他update表中没有记录,那么查询的结果是A_update、B、C和Total关联后得到的数据
第二种情况,A_update、B_update表中有记录,而C_update表中没有记录,那么查询的结果是A_update、B_update、C和Totale关联后得到的数据
。。别的情况相信大家比我更清楚了逻辑是有了,但知道怎么使用sql语句展现出来,还请高手指点一下