Sql Oracle:从T1内部连接T2中选择,其中日期在T3中,但没有与T3相关的键
我有三张桌子Sql Oracle:从T1内部连接T2中选择,其中日期在T3中,但没有与T3相关的键,sql,oracle,join,Sql,Oracle,Join,我有三张桌子 T1 has columns: date, id T2 has columns: selected_id T3 has columns: start_date, end_date 旨在创建T4表 我想在T1.id=T2.selected_id上从T1选择连接T2, 其中T1.日期介于T3.开始日期和T3.结束日期之间 因此,我写如下: create table T4 as (select T1.*, T2.* from T1 inner join T2 on T1.id = T2
T1 has columns: date, id
T2 has columns: selected_id
T3 has columns: start_date, end_date
旨在创建T4表
我想在T1.id=T2.selected_id上从T1选择连接T2,
其中T1.日期介于T3.开始日期和T3.结束日期之间
因此,我写如下:
create table T4 as
(select T1.*, T2.* from T1
inner join T2 on T1.id = T2.selected_id
where T1.date between T3.start_date and T3.end_date);
然而,T3没有与T1相关的外键可以加入,所以它不工作。
有什么建议可以解决这个问题吗?你说T3只有一行。这很奇怪。只是好奇,你能告诉我你创造它的目的吗 解决您的问题:您的查询应该如下所示:
create table T4 as
(
select T1.*, T2.*
from
T1 inner join T2
on T1.id = T2.selected_id
join T3
on T1.date between T3.start_date and T3.end_date);
T3表中的行如何影响其他行?T3如何与T1或T2连接?或者T3表总是只有一行?谢谢,T3只有一行,T3与T1和T2没有连接。是的,谢谢。因为客户想要设置所选的日期周期,所以我创建了一个表,只有一行供他填写开始日期和结束日期。我已经将其写入了我的数据库中,它确实有效,非常感谢:)@QSY如果对您有效,请选择Evgeniy的答案,谢谢!