ОБНОВИТЬ столбцы разных таблиц с предложением 2 Где - PullRequest
1 голос
/ 29 сентября 2019

У меня проблема с оператором UPDATE с предложением 2 Where.Я хочу обновить StatoBloccato , Aperto , OrarioApertura , OrarioChiusura только день называется Lun и IDRoom =1

Но это ОБНОВЛЕНИЕ изменяет значения для всех дней.

UPDATE room
INNER JOIN giorni ON (room.IDRoom = giorni.FKRoom)
SET StatoBloccato = false, 
Aperto = true, 
OrarioApertura = '09:00:00', 
OrarioChiusura = '18:00:00' 
WHERE room.IDRoom = 1 AND Nome LIKE 'Lun%';

Есть 2 таблицы: Room, Giorni.

Вот SQLFiddle

1 Ответ

0 голосов
/ 29 сентября 2019

Это работает, когда я пытаюсь это сделать здесь .

Конкретный запрос:

UPDATE room r JOIN
       giorni g
       ON r.IDRoom = g.FKRoom
SET r.StatoBloccato = false, 
    g.Aperto = true, 
    g.OrarioApertura = '09:00:00', 
    g.OrarioChiusura = '18:00:00' 
WHERE r.IDRoom = 1 AND g.Nome LIKE 'Lun%';

Хотя это должно быть эквивалентно вашему запросу, он используетуточняет все имена столбцов, поэтому ясно, из какой таблицы они исходят.

...