Вставьте в таблицу смесь данных Dynami c и STATI c из текстового файла. - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть две таблицы, как показано ниже

условие (текстовый файл хранится в виде таблицы).

SNO   Subject_id   
1        A1        
2        A2        
3        A3         
4        A4 

Наблюдение

Id   subject_id     START_DATE   END_DATE
1      D1           21/01/2007   21/01/2017
1      D2           23/05/1998   23/05/2008
1      D3           13/04/2017   13/04/2020

Я ожидаю, что мой результат будет ниже. Как видите, кроме столбца subject_id, который идет из текстового файла (хранится в виде таблицы условий), но остальные столбцы (Id, START_DATE, END_DATE) имеют статус c и те же

Id   subject_id     START_DATE   END_DATE
1      D1           21/01/2007   21/01/2017
1      D2           23/05/1998   23/05/2008
1      D3           13/04/2017   13/04/2020
2      A1           01/01/2000   01/01/2010 
2      A2           01/01/2000   01/01/2010 
2      A3           01/01/2000   01/01/2010 
2      A4           01/01/2000   01/01/2010

Это то, что я попытался, но не смог получить ожидаемый результат, так как START_DATE и END_DATE являются обязательными для таблицы наблюдения.

insert into observation (Id,subject_id,start_date,end_date)
select '2',subject_id,'01/01/2000','01/01/2010' from condition;

Может помочь мне с этим?

1 Ответ

2 голосов
/ 16 апреля 2020

Попробуйте использовать объединение:

SELECT Id, subject_id, START_DATE, END_DATE FROM Observation
UNION ALL
SELECT '2', subject_id, '01/01/2000', '01/01/2010' FROM condition
ORDER BY Id, subject_id;

Если вы действительно хотите, чтобы таблица наблюдений выглядела как ожидаемый результат, то ваша текущая вставка на самом деле правильная.

...