2012-04-03 5 views
0

MySQL 데이터베이스를 사용하고 있습니다.MySQL에서 다른 테이블의 값을 비교하는 방법?

table       Column 
tier_price    customer_id,sku(Unique),price,website 
catalog_product   entity_id(PK), sku 
catalog_product_price entity_id, value 

가 지금은 SKU이 catalog_product 단지 그 조건 변경 & 테이블에 사용할 수없는 어떤 에 대한 catalog_product_price 테이블에 테이블 tier_price 에서 해당 가격을를 삽입 할 : 나는 3 테이블 -이 catalog_product_price SKU가 이미있는 테이블 catalog_product 테이블.

$query_fetch = "SELECT price,sku FROM tier_price"; 
$result_fetch = mysql_query($query_fetch); 
$num_rows = mysql_num_rows($result_fetch); 

$query_fetch1 = "SELECT sku FROM catalog_product"; 
$result_fetch1 = mysql_query($query_fetch1); 
$num_rows1 = mysql_num_rows($result_fetch1); 

어떻게 그렇게 할 수 있습니까? 그것을 할 방법이 있습니까?

나를 안내하거나 나에게 약간의 아이디어를 제공해주세요.

답변

1
insert ignore into catalog_product 
    select 
    null, 
    sku, 
    from tier_prices 
; 

insert into catalog_product_price 
    select 
    entity_id, 
    price 
    from tier_prices join 
    catalog_product on tier_prices.sku = catalog_product.sku 
on duplicate key update 
    catalog_product_price.price = tier_prices.price 
; 

는 tested--

참고 --needs : SKU는 질문 정의와 일치하도록 업데이트

catalog_product_price

에서 catalog_product 및 ENTITY_ID에서 고유 한 열쇠가 될해야합니다.

+0

내 질문을 업데이트했습니다 ... plz check once .. – Prat

+0

두 가지 업데이트가 필요합니다. 먼저 catalog_product를 채우고 두 번째로 catalog_product_price를 채 웁니다. 같은 아이디어가 효과가있다 ... 나는 나중에 그것에 가야 할 것이다. –

관련 문제