我需要在一些转换后用MDB表中的数据填充表ABC,这意味着MDB中的每一行都将在ABC表中创建一个条目。我用格式编写了一个Mysql查询 -
Insert into ABC (a,b,c) select some_operation(d, <ext_value>) as a, e as b, f as c;
此sql查询将MDB数据的复制/修改副本插入ABC。我接下来需要的是更改我的操作中使用的ext_value并需要运行多个选择。 我试过这种方式但没有成功 -
Insert into ABC (a,b,c) (select some_operation(d, <ext_value>) as a, e as b, f as c), (select some_operation(d, <ext_value>) as a, e as b, f as c);
我期待最后如果有2个选择,ABC表将使MDB中的行数加倍,MDB中每行两行。
如何在单个Mysql往返中执行此操作,否则我是否应该进行N次查询以运行第一次查询N次?
如果有可能,如果有人解释如何在Magento的单个查询中实现多个选择插入,那将会很棒。
答案 0 :(得分:1)
您可以使用返回所有UNION
值的ext_value
子查询,并将其与您的表格结合以获得所有组合。
INSERT INTO ABC (a, b, c)
SELECT some_operation(d, ext_value) AS a, e AS b, f AS c
FROM MDB_data
CROSS JOIN (SELECT <ext_value1> AS ext_value
UNION
SELECT <ext_value2> AS ext_value) AS x
我不知道Magento,所以我不知道如何将它翻译成那种格式。