MySQL - 以转置方式连接三个不同的表

时间:2017-07-21 22:11:02

标签: mysql transpose

我有三张桌子:

business:

id     name
1      Charlie's Bakery
2      Mark's Pizza
3      Rob's Market


balanco_manual:

id      business_id   year     unit
012     1             2015     ones
123     1             2014     tens
364     2             2014     cents


conta_balanco:

id       conta    balanco_id      valor
412      12.3            012      12324
344      12.5            012      54632
414      14.1            364     344122
789      12              364    2312415
646      12              123        342

我需要将它们全部合并到business表中,并使它们看起来像这样:

business:

id     name                 12.3-2015    12.5-2015  11.56-2015    12-2014 2015-unit   2014-unit
1      Charlie's Bakery         12324        54632         NaN        342  ones            tens
2      Mark's Pizza               NaN          NaN         NaN    2312415     NaN         cents
3      Rob's Market               NaN          NaN         NaN        NaN    NaN            NaN

进一步解释:业务表有关于业务的基本注册表,balanco_manual有每个业务的年度信息,而conta_balanco有balanco_manual中年度信息的详细信息。

尝试将最后一个表放入单词: - 首先,我需要与balanco_manual合作,将业务中的“id”列与balanco_manual中的“business_id”列相结合。请注意,我将单位和年份组合在一个名为“[year] -unit”的列中。我们将此表称为“new_business”,以便于理解 - 之后,我需要将“new_business”与conta_balanco结合起来,就像我们使用“unit”列一样。每个“conta”应与年份相结合,并成为“conta- [year]”列。

我是SQL的初学者,我遇到了有趣的困难。有人可以帮我解决这个问题吗?

0 个答案:

没有答案