将文本文件中的动态和静态数据混合到表中

问题描述 投票:0回答:1

我有两个表,如下所示

条件(文本文件存储为表格)。

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)列是静态且相同

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_DATEEND_DATE,因此无法获得预期的输出。

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

可以帮我吗?

sql postgresql select sql-insert
1个回答
1
投票

尝试使用联合:

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;

如果您确实希望观察表看起来像您的预期输出,那么您当前的插入实际上是正确的。

© www.soinside.com 2019 - 2024. All rights reserved.