几天前我发布了这个问题,但我没有准确解释我想要什么。我再次提出更好的问题:为了澄清我的问题,我添加了一些新信息:
我有一个带有 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, ...
(有关表格的完整信息,请参阅屏幕截图产品(屏幕截图)和屏幕截图订单_产品(屏幕截图))
现在我想要的是: - 获取所有订购了 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卡住了。错误在哪里?