繁体   English   中英

Teradata SQL-联合和where子句

[英]Teradata SQL - Union and Where Clause

有一个Teradata SQL UNION查询,并且需要知道如何从2个表中提取数据,其中UNION第一部分的日期早于UNION查询第二部分的日期。 例:

Select
name1,date1
from table1
UNION
Select
name2,date2
from table2
where date2 < date1

只想查看date2在date1之前的记录。 这只是我需要从数据中检索的示例。

从“医院”表中选择Pat_Name,提供者,Clinic_Encounter_Date UNION从“医院”表中选择Pat_Name,提供者,Hosp_Encounter_Date,其中Hosp_Encounter_Date <Clinic_Encounter_Date;

我的SQL查询运行正常,但是当我添加WHERE子句时,我不断收到错误消息。 Teradata只是不喜欢我!

希望这会有所帮助。 :-)

预先感谢您的协助。

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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM