【发布时间】:2011-01-29 21:10:50
【问题描述】:
几天前我发布了这个问题,但我没有准确解释我想要什么。 我再次提出更好地表述的问题: 为了澄清我的问题,我添加了一些新信息:
我有一个带有 MyISAM 表的 MySQL 数据库。两个相关的表是:
* orders_products: orders_products_id, orders_id, product_id, product_name, product_price, product_name, product_model, final_price, ...
* products: products_id, manufacturers_id, ...
(有关表格的完整信息,请参阅产品截图 (Screenshot) 和订单产品截图 (Screenshot))
现在我想要的是: - 获取所有订购了 Manufacturer_id = 1 产品的订单。以及该订单产品的产品名称(制造商 ID = 1)。按订单分组。
到目前为止我所做的是:
SELECT
op.orders_id,
p.products_id,
op.products_name,
op.products_price,
op.products_quantity
FROM orders_products op , products p
INNER JOIN products
ON op.products_id = p.products_id
WHERE p.manufacturers_id = 1 AND
p.orders_id > 10000
p.orders_id > 10000 用于测试仅获得几个 order_id。但是,即使它有效,该查询也需要很长时间才能执行。两次sql server卡住了。错误在哪里?
【问题讨论】:
-
小彩钻对于不了解该工具的人来说毫无意义。最好显示确切的 DDL 语句。