这是一个简单的一个明显的错误,但我找不到解决办法
我有这样的疑问:
INSERT INTO Movimiento (ExpedienteId,FechaIngreso,SectorOrigen,SectorDestino,FechaEnvio)
SELECT 25,'2022-11-15 00:00:00.000',2,3,'2022-11-19 00:00:00.000'
FROM Expediente e
left JOIN Movimiento m
ON e.ExpedienteId = m.ExpedienteId
WHERE m.ExpedienteId IS NULL
查询必须在Movimiento中插入一行,但插入的是相同的4行
select * from Movimiento where ExpedienteId = 25
和结果:
MovimientoId ExpedienteId FechaIngreso SectorOrigen SectorDestino FechaEnvio
1271 25 2022-11-15 00:00:00.000 2 3 2022-11-19 00:00:00.000
1272 25 2022-11-15 00:00:00.000 2 3 2022-11-19 00:00:00.000
1273 25 2022-11-15 00:00:00.000 2 3 2022-11-19 00:00:00.000
1274 25 2022-11-15 00:00:00.000 2 3 2022-11-19 00:00:00.000
1条答案
按热度按时间k97glaaz1#
对于查询返回的每一行,您都要插入相同的常量值。
Expediente
中有4个条目,但Movimiento
中没有匹配项,因此要插入4次常量。你可以做
如果目标是插入“缺少的”条目,则不要使用常量
25
,而应使用e.ExpedienteId