Обновление значений в двух таблицах при равенстве
Имеется две таблицы:
Таблица А: number, inn, sum, status
Таблица B: inn, sum, number
Требуется сравнить значения inn и sum на равенство в обеих таблицах (A.inn=B.inn and A.sum=B.sum)
Если я ничего не напутал, то запрос будет таким:
select A.inn, A.sum, A.number from A LEFT join B on A.inn=B.inn and A.sum=B.sum where B.number is 'not mapped'
И теперь мне требуется обновить A.status на + и B.number на A.number и тут загвоздка, потому как насколько я понял SQLite doesn't support JOINs in UPDATE statements.
Как это можно реализовать и возможно ли вообще?
Ответы (1 шт):
Автор решения: D. Violet
→ Ссылка
решил не обновлять A.status:
UPDATE B
SET number = (SELECT A.number
FROM A
WHERE A.sum = B.sum
AND A.inn = B.inn)
WHERE EXISTS (SELECT *
FROM A
WHERE A.sum = B.sum
AND A.inn = B.inn)