2017-07-04 9 views
-1

私は3つのテーブル:Table_A、Table_B、Table_Cを持っています。3つの異なるテーブルに基づく観測のSQL定義日

各テーブルには、ID、問題、および日付の3つの変数が含まれています。日付は、表に欠落していてもいなくてもよい。

すべての観測に日付が付くように新しいテーブルを作成する必要があります。これを達成するためのルール:Table_A内のすべてのID /問題ペアについて、Dateが存在する日付としてTable_Aからの日付が使用されます。それ以外の場合は、Table_BとTable_Cの最小日付が使用されます。すべてのテーブルに日付がない場合は、観測を削除します。私が正しく理解していれば

SELECT ID, Problem, MIN(Date) as Date FROM ( SELECT ID, Problem, Date FROM Table_A UNION ALL SELECT ID, Problem, Date FROM Table_B UNION ALL SELECT ID, Problem, Date FROM Table_C ) as subQuery Delete From table Where Date IS NULL

+0

ですか? –

+0

これはMySQLです。あなたはそれで私を助けることができますか? – Harriss

+0

@juergendには私が追加できるものは何ですか? – Harriss

答えて

0

、これはあなたが始めたことがあります。それはMySQLやSQL-Serverの

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 
関連する問題