如何解决如何使用 postgresql join 在 postgresql 查询中连接 3 个表
我有 3 张不同的桌子。这些表的名称是 ro_master,tank_master,du_master。
以下是表格数据:
ro_master:
a[1][2]
tank_master:
id | cms_code | ro_name | ro_address
----+------------+---------------+----------------------
9 | 55381XA386 | RGE Name | 89,Nilkamal Society
7 | 55381XA384 | Demo Name1 | 89,Nilkamal Society
5 | 55381XA381 | ABC Petroluem | Demo Address
6 | 55381XA383 | ABC Petroluem | Demo Address
8 | 55381XA385 | DEF Name | 89,Nilkamal Society
4 | 55381XA382 | Demo Name | Demo Address
du_master:
id | product | cms_code_id
----+---------+-------------
12 | HSD | 4
13 | HSD | 4
11 | MS | 4
15 | HSD | 7
16 | HSD | 7
17 | MS | 7
14 | MS | 7
18 | XP | 4
19 | HSD | 4
20 | MS | 9
21 | HSD | 9
现在我想加入所有三个表。使用特定的 ro_master id(例如 id:4,7)。
我使用了以下查询:
id | du_make | du_type | cms_code_id
----+---------+---------+-------------
6 | Midco | Dual | 7
7 | GVR | MPD | 7
8 | GVR | MPD | 7
9 | GVR | MPD | 7
10 | Midco | Dual | 4
11 | GVR | MPD | 4
12 | GVR | QPD | 4
13 | Midco | Dual | 4
14 | Midco | QPD | 7
15 | Midco | QPD | 7
16 | Midco | Dual | 9
17 | Midco | MPD | 9
18 | Midco | Dual | 9
我得到的结果:
SELECT rm.cms_code,rm.ro_name,rm.ro_address,tm.product,dm.du_type
FROM ro_master rm left JOIN
tank_master tm
ON rm.id = tm.cms_code_id left join du_master dm
ON rm.id = dm.cms_code_id
WHERE rm.id in (4,7);
我需要这样的结果:
解决方法
假设 import { Injectable } from '@angular/core';
import { HttpClientModule } from '@angular/common/http';
import { Stock } from '../shared/models/stock-model';
@Injectable({
providedIn: 'root'
})
export class DashboardService {
readonly url = 'https://apistockssqw.herokuapp.com/bootcamp/stock'
constructor(private http: HttpClientModule) { }
async getStock(): Promise<Stock[]>{
return this.http.get<Stock[]>(`${this.url}/stock`).toPromise();
}
}
和 tank_master
在按 du_master
排序时必须按位置连接
id
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。