很抱歉,如果这有点长篇大论,但这里有一些背景知识。
我将一些产品从一个购物车迁移到另一个购物车。原始购物车非常旧,导出文件仅提供不同产品选项的选项ID。例如。如果产品有红色,黄色和蓝色,它可能会给我选项ID 1,2和3.
我设法获得一个单独的列表,显示所有可用的选项ID及其引用的选项。
因此,列表A向我展示了每个产品及其可用的选项ID,如下所示:
在这个例子中,product_id 1可以是T恤,option_id 11可以是" color"各种option_value_ids可以是红色,蓝色,黄色等
列表B显示每个option_value_id的实际含义如下:
基本上我想编写一个PHP脚本来比较两个列表和每个唯一的产品ID,然后对于每个唯一的选项ID,输出以下格式的文本行:
PRODUCT_ID; option_id;由逗号分隔的选项值列表,例如
1; 11;红色,蓝色,绿色,黄色...
我是一个相当陌生的PHP,并开始组建一个webform,所以我可以粘贴电子表格中的数据,但我想我正在咆哮错误的树。然后我想也许可以将它们作为数据库中的2个MySQL表进行比较?
有人可以指出我正确的方向吗?
答案 0 :(得分:0)
SELECT a.product_id, a.option_id, GROUP_CONCAT(DISTINCT b.option_name SEPARATOR ', ') as option_names
FROM listA a
LEFT JOIN listB b ON a.option_value_id = b.option_id
GROUP BY a.product_id, a.option_id;
应该工作 - 我是从内存中写的:)如果没有 - 尝试调整它。 您可以将其导出为CSV。