UPDATE INNER JOIN 3 подмостков

У меня есть select она эта

SELECT contrato.CodContrato as CodigoContrato, contrato.Descripcion as DescripcionContrato, centro.CodCentroContrato as CodigoCentroContrato, centro.AliasCentro , trabajo.CodRutaMultiempresa as Ruta, trabajo.NumTrabajo as NumeroTrabajo,
CASE WHEN trabajo.Periodicidad = 1 THEN 'Diaria'
WHEN trabajo.Periodicidad = 2 THEN 'Semanal'
WHEN trabajo.Periodicidad = 3 THEN 'Quincenal'
WHEN trabajo.Periodicidad = 4 THEN 'Mensual'
WHEN trabajo.Periodicidad = 5 THEN 'Bimestral'
WHEN trabajo.Periodicidad = 6 THEN 'Trimestral'
WHEN trabajo.Periodicidad = 7 THEN 'Cuatrimestral'
WHEN trabajo.Periodicidad = 8 THEN 'Semestral'
WHEN trabajo.Periodicidad = 9 THEN 'Anual'
ELSE 'No tiene periodicidad'
END as Periodicidad,
trabajo.FechaInicioServicios as InicioTrabajoRuta, trabajo.FechaFinServicios as FinTrabajoRuta, contrato.FechaFin as FechaFinContrato
FROM [Servicios y Mtto_, S_A_$Contrato] contrato
INNER JOIN [Servicios y Mtto_, S_A_$CentroContrato] centro ON contrato.CodContrato = centro.CodContrato
INNER JOIN TrabajoContrato trabajo ON centro.CodCentroContrato = trabajo.CodCentroContrato
WHERE trabajo.CodRutaMultiempresa IN ('SUPER CASH', 'DDD', 'MADRID', 'BARCELONA', 'VALENCIA')
AND trabajo.FechaFinServicios BETWEEN '01/12/2018' AND '31/12/2018'
AND contrato.Estado = '6

Он возвращает мне данные правильно

Сейчас я пробую делать UPDATE для поля работаю. FechaFinServicios установил все результаты предыдущего select в '31.12.2019'

Я снимаю select и помещаю UPDATE, но он дает мне ошибки, это остается так:

UPDATE [Servicios y Mtto_, S_A_$Contrato] contrato
INNER JOIN [Servicios y Mtto_, S_A_$CentroContrato] centro ON contrato.CodContrato = centro.CodContrato
INNER JOIN TrabajoContrato trabajo ON centro.CodCentroContrato = trabajo.CodCentroContrato
SET trabajo.FechaFinServicios = '31/12/2019'
WHERE trabajo.CodRutaMultiempresa IN ('SUPER CASH', 'DDD', 'MADRID', 'BARCELONA', 'VALENCIA')
AND trabajo.FechaFinServicios BETWEEN '01/12/2018' AND '31/12/2018'
AND contrato.Estado = '6'

Каким должен бы быть UPDATE имея в виду, что у меня есть хорошо SELECT?

0
задан 19.03.2019, 11:26
1 ответ

Попытайся со следующим:

UPDATE contrato
SET trabajo.FechaFinServicios = '31/12/2019'
FROM [Servicios y Mtto_, S_A_$Contrato] contrato
    INNER JOIN [Servicios y Mtto_, S_A_$CentroContrato] centro ON contrato.CodContrato = centro.CodContrato
    INNER JOIN TrabajoContrato trabajo ON centro.CodCentroContrato = trabajo.CodCentroContrato
    WHERE trabajo.CodRutaMultiempresa IN ('SUPER CASH', 'DDD', 'MADRID', 'BARCELONA', 'VALENCIA')
    AND trabajo.FechaFinServicios BETWEEN '01/12/2018' AND '31/12/2018'
    AND contrato.Estado = '6'
0
ответ дан 02.12.2019, 05:28
  • 1
    он не стоит, дает ошибки – Paolo Frigenti 19.03.2019, 17:17
  • 2
    если ты не считаешь немного больше ошибок, которые он дает, difí cilmente я могу продолжать помогать – andrés matínez rodríguez 20.03.2019, 10:25