有一个Teradata SQL UNION查询,需要知道如何从2个表中提取数据,其中UNION的第一部分中的日期在UNION查询的第二部分中的日期之前。例如:
Select
name1,date1
from table1
UNION
Select
name2,date2
from table2
where date2 < date1
希望只查看date2在date1之前的记录。这只是我需要从数据中检索的一个示例。
选择 Pat_Name,Provider,Clinic_Encounter_Date 从诊所表 联盟 Pat_Name,Provider,Hosp_Encounter_Date 从医院表 哪里 Hosp_Encounter_Date&lt; Clinic_Encounter_Date;
我的SQL查询运行正常,但是当我添加WHERE子句时,我不断收到错误消息。 Teradata只是不喜欢我!!!
希望这会有所帮助。 : - )
提前感谢您的协助。
答案 0 :(得分:0)
UNION之前和之后的SQL是独立的SQL,因此在第二个语句中它不识别date1。即以下声明无效。
Select name2,date2 from table2 where date2 < date1
您需要将语句更改为
Select
name1,date1
from table1
UNION
Select
name2,date2
from table2
where date2 < (select Min(date1) from table1)