MySql选择数据列表作为SELECT

时间:2017-01-22 16:31:53

标签: mysql sql

我正在从事像电子商务这样的项目,我需要从关系数据库中获取数据。对于主数据,我还需要将其他类型的数据存储为主数据中的数组。例如,当我选择有关订单的信息时,我将从该表中获取主要数据:

order
id | id_payment | id_status | date | value | discount |...

这将为我返回一个对象。然后,我将从表order_products获取与此订单相关的产品列表,例如:

order_products
id | id_order | name | description | value | ...

在我得到这些信息之后,我将作为json发送到前端,类似这样的事情:

{
    id: 1,
    date: 2017-01-22,
    value: 27.90,
    products: [
        {id: 18, name: 'shoes', description...},
        {id: 23, name: 'dress', description...}
        {id: 41, name: 'Tie', description...}
    ]
}

当我想将这些额外信息作为数组/对象存储在主数据中时,我正在使用这样的查询:

$order = get("SELECT id, date, value FROM order WHERE id = :id");

$order['products'] = get("SELECT id, name, description FROM order_products WHERE id_order = :id");
$order['payment'] = get("SELECT id, name, icon, label FROM payment WHERE....")[0];

因此,对于我希望插入主数据的每个array/object,我正在做额外的SELECT。有没有办法将所有这些都移到主SELECT中?或者我正在做的方式是实现这一目标的最好/唯一方法吗?

0 个答案:

没有答案