SQL - 基于三个不同的表定义观察的日期

时间:2017-07-04 01:24:07

标签: mysql sql date

我有三个表:Table_A,Table_B和Table_C。

每个表包含三个变量 - ID,问题和日期。表中可能会或可能不会记下日期。

我需要创建一个新表,以便所有观察都有一个日期。实现此目的的规则:对于Table_A中的所有ID / Problem对,Table_A中的Date将用作Date存在的日期。否则,将使用Table_B和Table_C中的最小日期。如果所有表中都缺少日期,则删除观察。

$ chown <user>:<group> velocity.log

1 个答案:

答案 0 :(得分:0)

如果我理解正确,这可能会让你开始:

select id, problem, `date` from table_a where `date` is not null
union

select id, problem, min(`date`)
from (
    select id, problem, date from table_b where `date` is not null
    union all
    select id, problem, date from table_c where `date` is not null
    ) d
group by id, problem