0
我有兩個表。表一是包含每日交易數據的事實表。另一個是維度表,它具有從日期到日期的範圍信息。我加入了between
條款的兩個表格。有沒有可能在連接到內部連接之間重寫。加入替代方法之間的範圍
表1:
dt_key prd_id
20170401 1
20170401 2
表2:
frm_dt to_dt cost prd_id
20170325 20170330 44 1
20170331 20170401 12 1
20170329 20170430 22 2
20170331 20170401 24 2
查詢:
select prd_id ,cost
from table_1 a,table_2 b
where a.prd_id=b.prd_id
and a.dt_key between frm_dt and to_dt;
我要一些解決方法,以避免之間的連接或添加一個連接條件等 dt_key /除數= --------
如果你能提出任何邏輯,這將是非常好的
你能解釋一下爲什麼你不喜歡beetwen算子? – krokodilko
爲什麼?看起來你必須根據你的數據模型來做到這一點。加入prd_id,進一步過濾日期間的連接。如果您將日期存儲爲字符串,則您的數據模型還存在其他問題。 – unleashed
不相關,但是:你應該學會使用現代的,顯式的'JOIN'語法來代替'WHERE'子句中的古老而脆弱的隱式連接 –