MySQL 在使用桥接表的连接中连接

标签 mysql join

我有两个数据源,一个跟踪产品,一个跟踪财务信息。两者没有公共(public)字段,但它们都与我们的计费系统有公共(public)字段。我想使用我们的计费系统数据作为我的两个来源之间的桥接表,这样我就可以在一次分析中将产品数据连接到财务数据,而不必在我们的可视化工具中进行困惑和缓慢的混合(例如,使用案例逻辑来make product.client = finance.account ...不一致的命名约定是最糟糕的)。我基本上使用账单作为查找表,首先将产品加入账单,然后将财务加入我的新加入……我想。

我想创建三个 mysql 表,其中的字段沿着字母项的行。 一、产品 A。客户 b.产品编号 C。尺寸 d.公制 2.财务 A。帐户 b. fine_id C。数量 d.国家 3.计费 A。帐户 b.产品编号 C。好的_id

我使用 billing 作为查找表,首先将产品加入 billing,这样我就可以获得我的所有产品字段以及帐户和 fine_id。然后我想加入财务到第一个加入。我可以让它在 excel 中工作,但是我们使用一次(如果)这个工具上线的数据规模对于 excel 来说太大了,因此需要 MySQL。我是否可以通过 MySQL 实现这种类型的连接?我真的很感激任何关于将我的财务表连接到下面的连接的语法指导。谢谢!

编辑后 - 连接语法,连接的正确顺序是什么?我得到的错误只是我的语法有错误。我正在使用以下内容。我已经重新排序了几次,但我仍然缺少一些关于如何执行此操作的概念性部分。我想 1. 将产品加入计费(即使不匹配也返回行) 2. 将财务加入产品/计费外部联接以便我可以在同一张表中看到我的产品和财务数据。感谢所有的帮助!

select *
from
(select *
    from
    (select * from 
    lookup.product) as product_join
    left outer join
    (select *
    from lookup.billing) as billing_join
    on product_join.product_id = billing_join.product_id) as left # left join of billing to product
left outer join
    (select *
    from left) as left_join
    left outer join
    (select * from lookup.finance) as finance_join
    on left.finance_id = financef_join.finance_id) # joining of finance data to the left join of my product/billing

最佳答案

你的任务/问题:“我想创建三个 mysql 表 沿线的字段 字母项目。

  1. 产品客户 b.产品编号 C.尺寸 d.公制
  2. 财务账户 b. fine_id C.数量 d.国家
  3. 计费账户 b.产品编号 C. fine_id

我使用 billing 作为查找表,首先将产品加入 billing,这样我就可以获得我的所有产品字段以及帐户和 fine_id。那我……”

通过连接可以很容易地做到这一点:

SELECT * From product, billing, finance
WHERE  billing.account = finance.account
AND billing.fine_id = finance.fine_id
AND billing.prod_id = product.prod_id

关于您的评论,您可以像这样使用左外连接,如果相应的账单数据不存在并且您想要结果中的所有产品:

SELECT * from product
LEFT outer join billing
ON product.prod_id = billing.prod_id 
LEFT outer join finance
ON billing.account = finance.account
AND billing.fine_id = finance.fine_id;

您不必在联接周围放置另一个“select *”。您可以像这样将表格连接在一起。

关于MySQL 在使用桥接表的连接中连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32060063/

相关文章:

mysql - MySQL 查询中的 BREAK ON 指令?

php - JavaScript 头像

html - laravel 5按钮连接数据库

mysql - 查找MySQL中所有没有某个值的entry_ids

mysql在不满足JOIN条件时选择虚拟记录

php - MySQL SUM 0 在 JOIN 上没有结果

javascript - 数据库表更改/更新/删除时触发的 jQuery 事件

mysql - 尝试考虑用于存储需要连接的日期范围的最佳数据库模式

sql - 如果数组中的相关表值(postgresql),则在表上设置值

mysql - MySQL 中的右外连接