我有一个小型数据库,其中有几个表用于一些小型PHP项目。我的SELECT之一(给定的风箱表)给出了如下结果:

+ ------- + ------ + ------ +
| idpart数量| IMEI |
+ ------- + ------ + ------ +
| 2 | 4 | xxx |
| 6 | 1 | yyyy |
| 8 | 2 | zzzz |
| 10 | 3 | ssss |
+ ------- + ------ + ------ +

行更改的数量可以为1或n,但永远不会小于1。idpart不会由于此查询而自我重复-只能显示一次。这是实际的查询:

select odel_part.idpart as idpart, model_part.qtyused as qty, reparationorders.IMEI as IMEI
from reparation orders
inner join order model on order_model.idreparationorder=reparationorders.idreparationorder
inner join models on order_model.idmodel = models.idmodel
inner join model_part on models.idmodel = model_part.idmodel
inner join parts on model_part.idpart = parts.idpart
where reparationorders.idreparationorder = 1


该查询的结果以及一些固定的其他数据必须插入到其他表中。其他表具有以下字段:
+ ----------- + ----------- + ------- + -------- + ----- +- ----- +
| idtrans idpart数量|日期| tt | IMEI |
+ ----------- + ----------- + ------- + -------- + ----- +- ----- +

idtrans-哪个自动增量
idpart-来自查询(idpart)
数量-来自查询的数量
日期-手动输入
tt-手动输入
IMEI-来自查询(IMEI)

在此第二个表中,idtrans是唯一的,idpart可以自我重复行(这是预期的行为,因为该表将跟踪该部分在不同日期的用法)。
您能帮我插入第二张表吗(第二张表的名称是事务)?

先感谢您

最佳答案

您只需执行以下操作:

insert into transactions(idpart, qty, date, tt, IMEI)
    select idpart, qty, now(), @tt, imei
    from reparations orders . . .;


. . .只是查询的其余部分。我想您要为“日期”插入当前日期/时间; now()提供该信息。

08-06 16:15