2014-05-14 130 views
2

有一個Teradata SQL UNION查詢,並需要知道如何從UNION查詢的第二部分中的UNION查詢的第二部分日期之前的UNION的第一部分中的日期之前的2個表中提取數據。示例:Teradata SQL - 聯合和Where子句

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只是不喜歡我!

希望這會更有幫助。 :-)

非常感謝您的幫助。

+1

請與數據的一些例子編輯你的問題。你的問題不清楚你真正想做什麼。 –

回答

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)