Table 1:
id title chtml
0 Lopez, Michelle MD Lopez, Michelle MD S
this is the way to solve your problem
declare @table4 table
(Name nvarchar(22), Value3 nvarchar(22))
insert into @table4 values ('Lopez, Michelle MD' ,'130 chester lane')
insert into @table4 values ('Michael, Jogn, MD ','320 nolan street')
declare @table1 table
(id int, title nvarchar(max), chtml ntext)
insert into @table1 values (0,'Lopez, Michelle MD', '<root><StartOne><Value1>Lopez, Michelle MD</Value1><Value2>Spanish</Value2><Value3>
<a title="49 west point" href="myloc.aspx?id=56" target="_blank">49 west point</a></Value3><Value4>908-783-0909</Value4><Value5><a title="CM" href="myspec.aspx?id=78" target="_blank">CM</a></Value5></StartOne></root>')
insert into @table1 values (1,'Michael, Jogn, MD', '<root><StartOne><Value1>Michael, Jogn, MD</Value1><Value2>English</Value2><Value3><a title="99 show drive" href="myloc.aspx?id=05" target="_blank">99 show drive</a></Value3><Value4>908-783-0909</Value4><Value5><a title="KM" href="myspec.aspx?id=40 target="_blank">KM</a></Value5></StartOne></root>')
declare @xml xml;
select top 1 @xml = cast(chtml as xml)
from @table1
-- How can I update the anchor link values of one table by querying another table data.
declare @titl nvarchar(22)
select @titl = Value3 from @table4 where Name = 'Lopez, Michelle MD'
set @xml.modify('
replace value of (/root/StartOne/Value3/a/@title)[1]
with sql:variable("@titl")
');
set @xml.modify('
replace value of (/root/StartOne/Value3/a/text())[1]
with sql:variable("@titl")
');
-- How can I update multiple fields, for Example `Value3` and `Value5`?
-- Answer: here you can modify Value5
update @table1
set chtml = cast(@xml as nvarchar(max))
where id = 0
select * from @table1