微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 postgresql join 在 postgresql 查询中连接 3 个表

如何解决如何使用 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);

我需要这样的结果:

1

解决方法

假设 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 举报,一经查实,本站将立刻删除。