从两个数据库将多行组合成一行

时间:2015-04-17 21:26:41

标签: mysql

我在MySQL中有两个表。一个有订单。一个与买家。买家表是棘手的。我想将买家表中的多行合并到输出中的一行中。这些表格看起来像我想要实现的......这甚至可能吗?

ORDERS表

ID      PRDCT_ID    TITLE       ORDER_TYPE
219     2           Product2    Shop_Order
220     2           Product2    Shop_Order
221     1           Product1    WH_Order

买家表:

ID  ORDER_ID    BUYER_KEY   BUYER_VALUE
43  219         first_name  Rebecca
44  219         last_name   DeVore
45  219         email       rebecca.devore@domain.com
46  220         first_name  Jesse
47  220         last_name   Lawrence
48  220         email       jesse@domain.com
49  221         first_name  Gary
50  221         last_name   Darrel
51  221         email       garydary@domain.com

这就是我想要的所需输出......

ORDERS.ID   ORDERS.TITLE    ORDERS.ORDER_TYPE   "First Name"            "Last Name"             "Email"
219         Product2        Shop_Order          Rebecca                 DeVore                  rebecca.devore@domain.com
220         Product2        Shop_Order          Jesse                   Lawrence                jessie@domain.com
221         Product1        WH_Order            Gary                    Darrel                  garyday@domain.com  

我还没有接近代码。我会称自己是MySQL的初学者,但我知道自己很危险。但是,这样你就可以嘲笑我的尝试......这就是我所处的代码;它可以很好地带回名字lol:

SELECT * 
FROM BUYER a, 
    ORDERS b 
WHERE a.post_id=b.id
AND b.post_type= "Shop_Order"
AND a.meta_key="first_name" 

编辑; 此问题已标记为重复。我的问题有所不同。这被标记为重复的问题的答案是建议在数据库中创建一个我不能做的新表。我只限于这两张桌子。

0 个答案:

没有答案