我已经建立了一个在线商店,并且在数据库中,当前有两个订单。尽管如此,尽管如此,当我从PHP(7.0)调用数据库出现时,它们几乎成对存在两对,唯一的区别是数量。
我想按价格对值进行分组,并删除其中一对数量最少的值。另外,我处理的数量为1,在这种情况下,两者看起来相同。我尝试使用可以解决类似问题的方法对它们进行排序,但我无法使其正常工作-似乎只是删除了随机问题。
查询:
SELECT customers.id AS customer_id, orders.id AS order_id, total_price, tracking, address, email, product_id, quantity, orders.created FROM orders, customers, order_items
答案 0 :(得分:2)
在您的查询中,您正在做笛卡尔积,因为您没有关于这些表之间的匹配条件的标准:
SELECT
customers.id AS customer_id
, orders.id AS order_id
, total_price
, tracking
, address
, email
, product_id
, quantity
, orders.created
FROM orders
, customers
, order_items
您将需要声明每个表之间的关系:
SELECT
customers.id AS customer_id
, orders.id AS order_id
, total_price
, tracking
, address
, email
, product_id
, quantity
, orders.created
FROM orders o
JOIN customers c ON (o.customer = c.id)
JOIN order_items i ON (o.id = i.order_id )
注意:我组成了一些列,这些列可能是明智的名称,可将表彼此连接。但是,正如您没有向我们展示的表定义只能是猜测。