假設我在oracle數據庫中有兩個表 - 一個包含月度數據,另一個包含每日數據,例如,如下所示:Oracle - 按日期加入兩個表,其中一個是每日,一個是每月
TblMonthlyData:
MonMatchingCol: MonDateCol: MonCol3: MonCol4:
a 01-31-2014 MonVal3a MonVal4a
b 01-31-2014 MonVal3b MonVal4b
a 12-31-2013 MonVal3c MonVal4c
b 12-31-2013 MonVal3d MonVal4d
a 11-30-2013 MonVal3e MonVal4e
b 11-30-2013 MonVal3f MonVal4f
TblDailyData:
DlyMatchingCol DlyDateCol DlyCol3 DlyCol4
a 01-14-2014 DlyVal3a DlyVal4a
b 01-14-2014 DlyVal3b DlyVal4b
a 01-15-2014 DlyVal3c DlyVal4c
b 01-15-2014 DlyVal3d DlyVal4d
a 01-16-2014 DlyVal3e DlyVal4e
b 01-16-2014 DlyVal3f DlyVal4f
...
a 02-01-2014 DlyVal3g DlyVal4g
b 02-01-2014 DlyVal3h DlyVal4h
a 02-02-2014 DlyVal3i DlyVal4i
b 02-02-2014 DlyVal3j DlyVal4j
和我有FO llowing查詢:
SELECT
Daily.DlyDateCol, Daily.DlyMatchingCol, Daily.DlyCol3, Daily.DlyCol4, Monthly.MonCol3, Monthly.MonCol4
FROM
TblDailyData Daily,
TblMonthlyData Monthly
WHERE
Daily.DlyDateCol = '01-14-2014'
AND
Monthly.MonDateCol = (SELECT MAX(MonDateCol)
FROM TblMonthlyData
WHERE TblMonthlyData.MonDateCol <= '01-14-2014')
AND
Daily.DlyMatchingCol = Monthly.MonMatchingCol
基本上,我在我的月度表在我的日常表每天的數據和月數據,他們有一列將兩者結合起來,我想獲取最新的月度數據向上那麼我們從日常表中拉出來。
所以,這個查詢的結果將是:
DlyDateCol: DlyMatchingCol: DlyCol3: DlyCol4: MonCol3: MonCol4:
01-14-2014 a DlyVal3a DlyVal4a MonVal3c MonVal4c
01-14-2014 b DlyVal3b DlyVal4b MonVal3d MonVal4d
現在,這個查詢的偉大工程,但現在我需要擴展它,這樣我可以在拉多天的數據時間(所以不再僅僅爲01-14-2014
,但現在爲01-15-2014 to 02-10-2014
)?
該查詢將如下的結果如下:
DlyDateCol: DlyMatchingCol: DlyCol3: DlyCol4: MonCol3: MonCol4:
01-15-2014 a DlyVal3c DlyVal4c MonVal3c MonVal4c
01-15-2014 b DlyVal3d DlyVal4d MonVal3d MonVal4d
01-16-2014 a DlyVal3e DlyVal4e MonVal3c MonVal4c
01-16-2014 b DlyVal3f DlyVal4f MonVal3d MonVal4d
...
02-01-2014 a DlyVal3g DlyVal4g MonVal3a MonVal4a
02-01-2014 b DlyVal3h DlyVal4h MonVal3b MonVal4b
02-02-2014 a DlyVal3i DlyVal4i MonVal3a MonVal4a
02-02-2014 b DlyVal3j DlyVal4j MonVal3b MonVal4b
...
所以,基本上,每天的數據每天都會變化,但月度數據會隨着幾個月的變化而變化。
我希望這是有道理的。
非常感謝您的幫助!
你能提供一些樣本數據和想要的結果嗎? –
如果你有條件'Daily.DlyMatchingCol = Monthly.MonMatchingCol',爲什麼你需要選擇'Monthly.MonDateCol'值的子查詢? –
@GordonLinoff,我在假樣本數據中添加了 - 我很抱歉沒有這樣做,這只是很多類型,我希望我很好地解釋自己...我希望現在有道理.... –