Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Oracle:从T1内部连接T2中选择,其中日期在T3中,但没有与T3相关的键_Sql_Oracle_Join - Fatal编程技术网

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的答案,谢谢!