【发布时间】:2017-05-21 07:56:17
【问题描述】:
我正在尝试做一个 MySQL 查询来合并来自三个表的数据。不幸的是,用于组织数据的 ID 对于其中两个表是不同的,但在第三个表上是相关的。第一个表是这样设置的:
+---------------------------------------+
| ID | Meta_Key | Meta_Value |
+---------------------------------------+
| 1 | name | John Doe |
+---------------------------------------+
第二张桌子是这样设置的:
+---------------------------------------+
| ID | Order_Type | Order_ID |
+---------------------------------------+
| 1 | order_type1 | 101 |
+---------------------------------------+
第三张桌子是这样设置的:
+---------------------------------------+
| Order_ID | Order_Key | Order_Value |
+---------------------------------------+
| 101 | order_total| 1000 |
+---------------------------------------+
我正在寻找一种方法来使用 SELECT 查询合并这三个表,并按 ID 对它们进行分组,如下所示:
+-----------------------------------------------------------+
| ID | Order_ID | Meta_Value | Order_Type | Order_Value |
+-----------------------------------------------------------+
| 1 | 101 | John Doe | order_type1 | 1000 |
+-----------------------------------------------------------+
【问题讨论】:
-
好像你想要一个
JOIN! (双一。) -
我是一个SQL菜鸟,是否可以加入3个表并根据两个ID组织数据?
-
我不确定是否可以将它们关联起来。我想也许第二张表包含第一张和第三张表的 ID 的事实可能使它成为可能。
-
@gffwebdev,是的,您可以使用任何您想要的逻辑加入任意数量的表,您只需要验证您的输出是否获得了逻辑表达式的真正肯定。跨度>