Всем привет, столкнулся с проблемой которую никак решить не могу Есть две таблицы Первая таблица t1 lok | mot Вторая таблица t2 on | key | key2 Если mot больше 100 то нужно обновить поле t2.on и переписать его на 0 Запрос формирую так [sql]update t1,t2 set t2.`on`=0 where t1.lok=t2.`key` and t1.lok=t2.key2 and t1.mot>100;[/sql] Т.е. сравниваю поля t2.key и t2.key2 с t1.lok и если t1.mot больше 100, то перезаписываем поле t2.on на 0 Но так не работает =( Если сделать так Первая таблица [sql]update t1,t2 set t2.`on`=0 where t1.lok=t2.`key` and t1.lok=t2.key2 or t1.mot>100;[/sql] то перезаписываются все имеющиеся поля t2.on Как сделать так чтобы если именно у определенного t2.id с t1.lok=t2.`key` and t1.lok=t2.key2 и если t1.mot больше 100 то перезаписывалась именно та запись, которую необходимо перезаписать, а не все подряд.
так работает но на половину =) Мне нужно чтобы и t2.`key` и t2.`key2` сравнивала т.е. сейчас получается что сравнивает только t2.`key`
Вот так работает [sql]UPDATE t2 INNER JOIN t1 ON t1.lok = t2.`key` or 1.lok = t2.`key2` set t2.on = 0 WHERE t1.mot > 100[/sql]