我有一個MySql數據庫。
SQL SELECT加入?
有產品和訂單的 結構的表:
- 產品:PRODUCT_ID,名稱,manufacturers_id
- 訂單:orders_id,PRODUCT_ID,數量現在
我想要獲得所有訂單(僅顯示產品manufacturer_id = 1的產品)。 我試過了:
SELECT
orders.orders_id,
orders.product_id
FROM products, orders
WHERE products.manufacturers_id = 1
GROUP BY orders_id
ORDER BY orders_id
但是這不起作用。怎麼了?
Sry基因編輯:別人編輯我的支柱端刪除的問題的essentiell部分
編輯
爲了澄清我的問題,我增加了一些新的信息:
我有一個MySQL的DB與MyISAM表。這兩個相關的表是:
- orders_products:orders_products_id,orders_id,PRODUCT_ID,PRODUCT_NAME,PRODUCT_PRICE,PRODUCT_NAME,product_model,final_price,...
- 產品:products_id,manufacturers_id,...
(有關表格的完整信息見截圖的產品(Screenshot)和截圖orders_products(Screenshot))
現在我想是這樣的: - 獲取所有訂購產品與manufacturer_id = 1的訂單。以及此訂單的產品的產品名稱(與manufacturer_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被困住了。 錯誤在哪裏?
因爲混亂的關於我的編輯我打開一個新的更容易理解的職位: SQL Inner Join : DB stuck
您使用的是什麼RDBMS? – 2010-03-15 12:35:29
它頂部是「MySQL」。 – 2010-03-15 12:36:07
您說「product_id = 1,但是您的查詢顯示manufacturer_id = 1 ...需要澄清哪一個是正確的 – 2010-03-15 12:46:04