我有两个数据源,一个跟踪产品,另一个跟踪金融信息。这两者没有一个共同的领域,但他们都有一个共同的领域与我们的计费系统。我希望使用我们的计费系统数据作为两个来源之间的桥梁表,这样我就可以在一次分析中将产品数据与财务数据连接起来,而不必在我们的工具(例如,使用案例逻辑来使product.client = finance.account…)中进行混乱和缓慢的混合。不一致的命名约定是最糟糕的)。我基本上是使用计费作为一个查找表,首先将产品连接到计费,然后将财务连接到我的新join…。我认为。
我想要创建三个mysql表,这些表的字段与字母项目的顺序一致。1.产品a.客户b. prod_id c.尺寸d.米制2.财务帐户b. fine_id c.金额d.国家3.记帐b. prod_id c. fine_id
我使用计费作为一个查找表,首先将产品加入到计费中,这样我就可以得到所有的产品字段,加上account和fine_id。然后,我想加入金融界,第一次加入。我可以让它在excel中工作,但是我们曾经使用过的数据规模(如果这个工具在运行的话)对于excel来说太大了,因此需要MySQL。我能在连接w/ 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发布于 2015-08-17 21:51:45
您的任务/问题:“我想创建三个mysql表,其中的字段按照字母项目的方式排列。
我使用计费作为一个查找表,首先将产品加入到计费中,这样我就可以得到所有的产品字段,加上account和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 *“放在一个联接周围。你可以像这样把桌子连在一起。
https://stackoverflow.com/questions/32060063
复制相似问题