2014-01-09 2 views
0

원하는 두 열의 테이블에서 데이터를 삽입하고 새 테이블에 삽입 할 수 있는지 알고 싶습니다.두 개의 이전 테이블에서 새 테이블에 데이터 삽입

내가 가진 쿼리는 작동하지 않는 것 같습니다.

INSERT INTO book2.orders_bought (`id`, `sold_order_id`, `sold_order_item_id`, `item_id`, 
`status`, `card_name`, `supplier_name`, `total`, `date_ordered`) 
SELECT `order_id`, `bought_order_id`, `oi.id`, SUBSTR(sell_link, 97, 20), `status`, 
`card_name`, `supplier_name`, `total`, `date` 
FROM book1.orders_buy, book1.order_items oi 

참고 : 나는 테이블 order_items에서 추출 할 수있는 유일한 필드는 어떻게 book1.order_items 할 books1.order_buy 연결되어 id

+1

입니까? book_order_items에 order_id가 있습니까? 그렇다면 JOIN이 필요합니다. 오류를 나타내면 도움이됩니다. – tofutim

+0

@tofutim order_items.id = orders_by.id 테이블에 가입 할 때만 작동한다는 말입니까? –

+0

은 order_buy이고 order_item은 일대일입니까? orders_buy 및 order_items에 대한 스키마를 더 잘 보여줍니다. – tofutim

답변

1
INSERT INTO book2.orders_bought (
    `id`, `sold_order_id`, `sold_order_item_id`, `item_id`, 
    `status`, `card_name`, `supplier_name`, `total`, `date_ordered`) 
SELECT 
    `b.order_id`, `bought_order_id`, `oi.id`, SUBSTR(sell_link, 97, 20), 
    `status`, `card_name`, `supplier_name`, `total`, `date` 
FROM book1.orders_buy b 
LEFT JOIN book1.order_items oi ON oi.order_id = b.order_id 
관련 문제