У меня есть схема, которая выглядит следующим образом
table 1
-------
ID TYPE VALUE
==============
1 A 10
1 B 200
2 A 20
2 B 500
table 2
-------------
ID typeA typeB
==============
1 10 200
2 20 500
Мой сценарий миграции
update table2 set typeA = (select t1.value from table1 t1
where t1.ID = table2.ID and t1.type = 'A'),
typeB = (select t1.value from table1 t1 where t1.ID = table2.ID and t1.type='B');
Теперь он работает нормально, когда есть два типа для каждого идентификатора, и завершается ошибкой с кодом ошибки sql 407 , если строка для типа отсутствует. Я пытался использовать IFNULL, COALESCE, но, похоже, ничего не работает. Я знаю, что это проблема, которая должна была решаться много раз, но нигде не могла получить прямой ответ.