Я пытаюсь синхронизировать идентификаторы магазинов на newtable с идентификаторами из maintable здесь:
UPDATE newtable t SET t.store_id = (SELECT store_id FROM maintable s
WHERE t.state = s.state AND s.city = t.city AND t.name = s.name)
Всякий раз, когда подзапрос возвращает более одной строки, он выдает ошибку «Подзапрос возвращает более 1 строки», но когда он возвращает ноль строк, считается, что подзапрос ничего не возвратил, поэтому store_id для newtable остается NULL. Здесь нет ничего нового, просто как это работает.
Я хотел бы знать, возможно ли позволить подзапросу выводить то же самое, что и при отсутствии совпадений, когда у него более одной совпадающей строки.
Таким образом я бы синхронизировал store_id только для ОДНОЙ совпадающей строки в основной таблице и пропускал, когда в подзапросе выходило более одной совпадающей строки.