2012-11-03 79 views
0

我試圖從多個表中獲取數據,具體取決於在下拉菜單中選擇的內容。我的下拉菜單由ID列表(001,002等)組成。在MySQL中查詢多個表格

一旦用戶選擇其中之一,我使用AJAX根據選擇的內容動態獲取數據。我能夠根據選擇的內容獲取單個值,但在涉及多個表時遇到問題。

我的表設置是這樣的:

庫存表:

inven_ID (primary) 
cost 
description 

訂購表:

order_ID(primary) 
orderdesc 

銷售表:

inven_ID 
order_ID 
quantity 
primary(inven_ID,order_ID) 

我的查詢如下:

$QRY = "SELECT 
      inven_ID, 
      order_ID, 
      cost, 
      description 
     FROM 
      Inventory, 
      Order, 
      Sale 
     WHERE Inventory.inven_ID = Sale.inven_id 
     AND Sale.order_ID = Order.order_ID 
     AND Order.order_ID ='".$q."'"; 

$q代表從下拉菜單中的值(我檢查是有效的)。我收到錯誤列'inven_ID'在字段列表中是不明確的。基本上,當他們從下拉列表中選擇一些訂單ID(如001)時,它會在我的訂單表中查找order_ID,並獲取該特定訂單ID的inven_ID/cost/description。

例如,如果某人訂購了xy,yz,xyz零件10,20,30。

Selecting 001 would bring up: 
001 xy 10 
001 yz 20 
001 xyz 30 

我想我沒有連接表正確,因爲錯誤說,它的曖昧。

對此有何幫助?

編輯:是的,解決了這個問題,很明顯,我沒有抓住它。

回答

0

在您選擇的列表中,您只需指定要檢索哪個inven_ID。例如:

SELECT Inventory.inven_ID, ... 
+0

修好了,非常感謝 – Paul

+0

很高興工作。不要忘記接受答案。 – ethorn10

0

錯誤是非常明顯的。 inven_ID不明確,因爲您在SaleInventory中有。使用說明符如Sale.inven_IDInventory.inven_ID