2012-01-04 112 views
0

我需要從多個表中獲取數據並將其放入子表單中。從多個表中獲取數據

SubForm列是「產品名稱」和「數量」,他們需要列出與訂單ID相關的產品。

有問題的表是:

PRODUCTS(productID,productName)

ORDER(orderID,prodID,quantity)

凡順序prodID指產品表。

正如您所看到的,問題在於產品的名稱與訂單不同。所以,我需要得到的數據是:

Products(productName)

Order(quantity)

在相對於orderID

如何使用SQL查詢來獲取此數據?我知道加入等,但我不明白如何應用它。

謝謝。我希望這是有道理的。

+0

設計對我來說似乎有點奇怪我會期待另一張表:orderediTems,這樣您就不會重複訂單上每個productID的訂單信息(訂單發貨日期等)。或者訂單是否有「Order_header」或其他? – xQbert 2012-01-04 11:33:53

+0

@xQbert我確實有ORDRERITEMS表和ORDERS表,是的。對不起,我應該更清楚一點。 – samiles 2012-01-05 11:34:23

+0

[Simple SQL Select from 2 Tables(什麼是加入?)](http://stackoverflow.com/questions/11040587/simple-sql-select-from-2-tables-what-isa-a-加入) – 2012-06-17 18:29:05

回答

3

這是一個簡單的內兩個表之間的連接來返回你想要行:

SELECT P.PRODUCTNAME, O.QUANTITY 
FROM PRODUCTS P INNER JOIN ORDER O ON P.PRODUCTID = O.PRODID 
WHERE O.ORDERID = <order id> 
0

選擇p.productname,q.quantity從product_table P,quantity_table q其中p.productId = q.productId ;

3
SELECT 
    PRODUCTS.productName AS productName, 
    `ORDER`.quantity AS quantity 
FROM 
    `ORDER` 
    INNER JOIN PRODUCTS on `ORDER`.prodID=PRODUCTS.productID 
WHERE 
.. 

您還希望重命名錶ORDER - 使用保留字作爲表名不是最好的樣式。

+0

+1注意到ORDER表需要引用,儘管只有MySQL(據我所知)使用反引號。 – 2012-01-04 12:11:32

+0

真的很抱歉,SQL和MySQL是我懷疑太久的同義詞。 – 2012-01-04 12:14:44

+0

我注意到OP的配置文件,他的其他標籤包括Apache,PHP和Python - 很可能他正在使用MySQL。 – 2012-01-04 12:23:33