【发布时间】:2021-07-13 11:31:58
【问题描述】:
所以我总共有 3 个表,分别称为 Companies_company c、company_sharedtrainingunit cst 和 Companies_trainingunit ct。我创建的第一个 JOIN 在同一个公司 ID 上加入了 c 和 cst。
SELECT c.id as consuming_company_id, c.name as consuming_company_name, cst.id as channel_connection_id, cst.training_unit_id as channel_id
FROM companies_sharedtrainingunit cst
FULL JOIN companies_company c ON c.id = cst.company_id
ORDER BY company_id ASC
生成一个表格,结果如下
| consuming_company_id | consuming_company_name | channel_connection_id | channel_id |
|---|---|---|---|
| 1 | company_1 | 2000 | 100 |
现在我希望上面创建的这个连接表连接到来自表 c 的相同信息和一个新表 ct ie
SELECT c.id as owned_company_id, c.name as owned_company_name, ct.id as channel_id, ct.name as channel_name, ct.description as channel_description
FROM companies_trainingunit ct
FULL JOIN companies_company c ON c.id = ct.company_id
ORDER BY c.id
| owned_company_id | owned_company_name | channel_id | channel_name | channel_description |
|---|---|---|---|---|
| 2 | company_2 | 100 | channel_100 | description_100 |
我已经尝试加入这两个查询但没有运气:(
我知道他们需要加入他们的频道 ID
最后我正在寻找我的桌子看起来像:
| channel_connection_id | consuming_company_id | consuming_company_name | channel_id | channel_name | channel_description | owned_company_id | owned_company_name |
|---|---|---|---|---|---|---|---|
| 2000 | 1 | company_1 | 100 | channel_100 | description_100 | 2 | company_2 |
【问题讨论】:
-
如果您有三个表,每个表的样本数据会很有帮助。此外,您可以设置某种 dbfiddle。显示您“没有运气”的查询。
-
您提供的数据似乎不匹配。
consuming_company_id不应该和owned_company_id一样吗? -
@LaurenzAlbe 抱歉应该指定得更好, sumption_company_id 和owned_company_id 是不同的。他们是通过我试图通过这个 JOIN 展示的渠道连接的公司
-
您显示的结果行之间的连接元素是什么?
-
@LaurenzAlbe the channel_id
标签: sql postgresql join