需要排序和过滤2个价格文件到一个


Need to Sort and Filter 2 Price files into one

我们有两个价格文件,一个是去年的,一个是今年的。每个大概有25000行,但是价格略有不同,而且这一年的文件里没有UPC码。

我需要合并两个列表,保持较高的价格,当成本和描述是相同的。如果价格较高的商品在这一行中没有UPC,我需要从匹配的价格较低的商品(如果它存在)中提取UPC。然后删除所有其他匹配项,这样我们就有一个干净的列表。

我想这样做PHP/MySQL

如果您有任何建议或帮助,我将不胜感激。

既然你想用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中手动执行此操作(对于一个列表中的每一项,在第二个列表中搜索相应的项,获取所需的列并插入到数据库中)或在执行查询之前将数据插入到数据库中。