MySQL Query - 在结果中生成数组

时间:2013-12-10 20:27:52

标签: php mysql sql

我想在一个查询中选择订单并将其项目附加到它们(现在我正在选择订单,然后使用单独的查询选择order_items - 这证明非常大量订单减缓......

订单:id |名字|总

order_items :id | order_id |价格|数量

order_items_info :id | order_id | order_item_id | tracking_no

我要做的最后一件事是:将 order_items_info 表添加到项目数组中。

$orders = array(
    array(
        'id' => '',
        'name' => '',
        'items' => array(
            array(
                'order_item_id' => '',
                'price' => '',
                'qty' => '',
                'item_info' => array()
            ),
            array(
                'order_item_id' => '',
                'price' => '',
                'qty' => '',
                'item_info' => array()
            ),
            ...
        )
    )
);

2 个答案:

答案 0 :(得分:1)

SELECT o.id,name,total,item_info,price,qty FROM orders o 
JOIN order_items oi ON o.id=oi.order_id
JOIN order_items_info oii ON oii.order_id=o.id
AND oii.order_item_id=oi.id 

在您发布表格信息之前,只是一个疯狂的猜测。

答案 1 :(得分:0)

  

从订单中选择*加入order_items on(orders.id = order_id)