如何比较Mysql中不同表的值?

时间:2012-04-03 14:44:11

标签: mysql

我正在使用Mysql数据库。我有3个表 - :

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

现在我想将 tier_price 表中的价格插入到目录_产品价格表格中, SKU 不可用在 catalog_product 表&只需在 catalog_product_price 表格中更新 catalog_product 表格中已有SKU的价格。

$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 个答案:

答案 0 :(得分: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
;

- 需要测试 -

注意:sku必须是catalog_product中的唯一键和catalog_product_price中的entity_id

已更新以匹配问题定义。