2012-04-03 2 views
0

Я использую базу данных Mysql. У меня есть 3 table-:Как сравнить значения из разных таблиц в Mysql?

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

Теперь я хочу, чтобы вставить те, цены из tier_price таблицы в catalog_product_price таблицы, для которой SKU не доступен в catalog_product таблицы & просто обновить эти цены в 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 
; 

--needs tested--

Примечание: Код должен быть уникальным ключом catalog_product и ENTITY_ID в catalog_product_price

Обновлено соответствовать определению вопроса.

+0

Я обновил свой вопрос ... PLZ проверить один раз .. – Prat

+0

Это потребует двух обновлений. Сначала заполните catalog_product, затем заполните catalog_product_price. Такая же идея должна работать ... Мне нужно будет дойти до нее позже. –

Смежные вопросы