Это будет работать в большинстве баз данных, включая SQL Server:
update itemTable
set hasAttributes = (case when exists (select 1
from itemMeta im
where im.iid = itemTable.iid
)
then 'Y' else 'N'
end);
Если вы просто хотите обновить значение до 'Y'
, если оно существует (и оставить существующее значение, если оно есть), тогдаЯ бы порекомендовал:
update itemTable
set hasAttributes = 'Y'
where exists (select 1
from itemMeta im
where im.iid = itemTable.iid
);
Это ограничивает обновляемые строки, поэтому он должен иметь лучшую производительность.
И, если вы заботитесь о производительности, вам нужен индекс на itemMeta(iid)
.