2012-01-04 9 views
0

여러 테이블에서 데이터를 가져 와서 하위 폼에 저장해야합니다.여러 테이블에서 데이터 가져 오기

SubForm 열은 '제품 이름'과 '수량'이며 주문 ID와 관련된 제품을 나열해야합니다. 문제

테이블은 다음과 같습니다 위해 prodID이 제품 테이블을 참조

PRODUCTS(productID,productName)

ORDER(orderID,prodID,quantity)

.

보시다시피 제품의 이름이 주문과 다른 테이블에있는 것이 문제입니다. 그래서, 내가 할 필요가있는 데이터는 다음 orderID과 관련

Products(productName)

Order(quantity)

.

이 데이터를 가져 오기 위해 SQL 쿼리를 어떻게 사용할 수 있습니까? 조인 등을 알고 있지만, 적용 방법을 알 수 없습니다.

감사합니다. 나는 이것이 의미가 있기를 바랍니다. 이 간단한 내부입니다

+0

디자인이 나에게 조금 이상하게 보입니다. 다른 테이블을 기대할 것입니다 : 주문한 제품, 그렇게하면 주문에 대한 각 제품 ID에 대한 주문 정보 (배송 주문 별 날짜 등)가 반복되지 않습니다. 아니면 주문서에 "Order_header"같은 것이 있습니까? – xQbert

+0

@xQbert ORDRERITEMS 테이블과 ORDERS 테이블이 있습니다. 그렇습니다. 미안, 내가 그걸 분명히 했어야 했어. – samiles

+0

가능한 중복 [단순 SQL 선택 2 테이블 (조인이란?)] (http://stackoverflow.com/questions/11040587/simple-sql-select-from-2-tables-what-is-a- join)) –

답변

3

원하는 행을 반환하는 두 테이블 사이에 조인 product_table 페이지에서

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을 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

ORDER 테이블을 따옴표로 묶어 두어야한다는 것을 알기 위해 +1하지만, MySQL (역주)은 역 인용 부호를 사용합니다. –

+0

정말 죄송합니다. SQL과 MySQL을 동의어로 사용하는 것은 너무 오랫동안 용의주합니다. –

+0

OP의 프로필에서 그의 다른 태그에는 Apache, PHP 및 Python이 포함되어 있음을 알았습니다. 그는 MySQL을 사용할 가능성이 있습니다. –

관련 문제