如何连接 2 个表以接收所需的所有数据

Posted

技术标签:

【中文标题】如何连接 2 个表以接收所需的所有数据【英文标题】:How to join 2 tabels in order to receive all the data needed 【发布时间】:2020-06-11 09:31:20 【问题描述】:

我有 2 个查询:

/*+ ETLM

  depend:
    replace:[
      
        name:"table_1"
      
    ]
  

*/
SELECT 

case_id,
x,
x,
x,
x,
x

FROM table.1


WHERE resolved_date between TO_DATE ('2020/01/01', 'YYYY/MM/DD') and to_date('2020/12/31','YYYY/MM/DD')
AND ASSIGNED_TO_GROUP IN ('First Group')



/*+ ETLM

  depend:
    replace:[
      
      name:"table_2"
      
    ]
  

*/



SELECT

x,
x,
x,
case_id,
x,
x


FROM table_2

WHERE create_date between TO_DATE ('2020/01/01', 'YYYY/MM/DD') and to_date('2020/12/31','YYYY/MM/DD')

所以基本上我需要表中的所有信息,case_id 是 table_1 上的主键。如何加入他们以接收所有数据并仅使用 table_1 中的 WHERE?

PS:表格在红移时启用频谱

我试过了

Select
x
x
x
FROM table_1 

JOIN table_2 ON table_1.case_id = table_2.case_id
Select 
x
x
x
FROM table_2

Where table_1.resolved_date between ...
AND table_1.assigned_group...

但似乎我在第二个 SELECT 语句上遇到错误

【问题讨论】:

请提供样本数据和期望的结果。 什么样本?我假设第一个表上的 case_id、位置、状态和第二个表上的 case_id、用户、标志,我想根据 case_id 返回 case_id、位置、状态、用户、标志。 你可能想看看this discussion。 好的,我读过了。对不起。 【参考方案1】:
Select
table_1.x,
table_1.x,
table_1.x,
table_2.x,
table_2.x,
table_2.x
FROM table_1 

JOIN table_2 ON table_1.case_id = table_2.case_id

Where table_1.resolved_date between ...
AND table_1.assigned_group...

【讨论】:

以上是关于如何连接 2 个表以接收所需的所有数据的主要内容,如果未能解决你的问题,请参考以下文章

如何连接表以选择连接表中的最大行? [复制]

正确连接 2 个表

如何优化这个 MySql 查询 - 连接 3 个表?

设置 Access 表以同时执行多条记录

Laravel 连接表以获取每个表的属性

连接表以获取总和 - SQL/Access