如何将多个选择中的日期插入到另一个表中?

时间:2015-12-22 21:13:09

标签: php mysql sql-server magento

我需要在一些转换后用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的单个查询中实现多个选择插入,那将会很棒。

1 个答案:

答案 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,所以我不知道如何将它翻译成那种格式。