需要对2个Price文件进行排序和过滤

时间:2011-09-11 00:03:21

标签: php mysql

我们从去年开始有2个价格文件,今年有一个新的价格文件。每个行大约有25000行,但价格略有不同,今年文件中的所有项目都没有UPC代码。

当成本和描述相同时,我需要结合两个列表,保持较高的价格。如果价格较高的商品在该行中没有UPC,我需要从匹配的低价商品中提取UPC(如果存在)。然后删除任何其他匹配,所以我们有一个清单。

我想用PHP / MySQL

来做这件事

非常感谢任何建议或协助。

1 个答案:

答案 0 :(得分:1)

既然你想用MySQL做这件事,我想数据已经在数据库中,那么这只是一个SQL查询:

INSERT INTO NewPriceList (Price, Cost, Description, UPC)
SELECT L.Price, L.Cost, L.Description, L.UPC
FROM LastYear L, ThisYear T
WHERE 
  L.Cost = T.Cost AND
  L.Description = T.Description AND
  L.Price > T.Price
UNION
SELECT T.Price, L.Cost, L.Description, L.UPC
FROM LastYear L, ThisYearT
WHERE 
  L.Cost = T.Cost AND
  L.Description = T.Description AND
  L.Price <= T.Price;

否则你必须在PHP中手动执行此操作(对于一个列表中的每个项目,搜索第二个列表中的相应项目,获取所需的列并插入到数据库中)或者将数据插入到数据库中执行查询。