假设我们有一个由订单 ID 组成的订单表,那么在获取所有商品及其订单数据方面,什么被认为是“最佳实践”?
Order table:
--------
| id | name | email | phone | event_id |
|---- |------| -----|-----| -----|
| 1 | Anish | [email protected] | 8233472332| 1765 |
| 2 | ABC | [email protected] | 784472332| 1765 |
| 3 | XYZ | [email protected] | 646322332| 1525 |
items table:
------------
| id | order_id | category | qty | price |
|---- |------| -----|-----| -----|
| 1 | 1 | person 1 | 2| 299 |
| 2 | 1 | person 2 | 1| 399 |
| 3 | 2 | person 1 | 1| 299 |
我想在单个查询中获取所有商品及其订单名称、电子邮件、电话。
| name | email | category | qty | price |
|---- |------| -----------|----- | ----- |
| Anish | [email protected] | person 1 | 2| 299 |
| Anish | [email protected]. | person 2 | 1| 399 |
| ABC | [email protected] | person 1 | 1| 299 |
一对多关系 订单 -> 商品(它有多行与单个订单相关)
我想显示活动的所有项目(例如:活动 ID - 1765)以及姓名、电子邮件和电话。请向我建议优化的 mysql 查询。我正在使用 Laravel 5.2。
您可以通过在两个表之间使用简单的内部联接来获得该结果:
SELECT
`order`.`name`,
`order`.`email`,
`items`.`category`,
`items`.`qty`,
`items`.`price`
FROM `order`
INNER JOIN `items` ON
`order`.`id` = `items`.`order_id`