We’re using SQL Server 2016. I have two tables, DEAD and QUETABLE. However, QUETABLE also has a column called DEAD. This is going to sound confusing, but I’ll try to make it make sense. What I need to do, is set the column (DEAD) in QUETABLE to the value YES if the column WEBSITE in QUETABLE matches the same named column WEBSITE in the table DEAD.
(The DEAD table is just filled with dead websites, QUETABLE might have some that are dead, marking it will let us know)
In a magical world, something like this would work:
UPDATE QUETABLE
SET [DEAD] = 'YES'
WHERE
SELECT de.website, de.[city], de.[state], de.[zip], de.[new-ind], de.phone
FROM [QUETABLE] de
WHERE EXISTS (SELECT website, company, zip
FROM dead d2
WHERE d2.website = de.website OR d2.state = de.state OR d2.zip = de.zip)
But obviously that can’t happen, and I can’t really figure out how to do this.
Advertisement
Answer
I think you simply want:
UPDATE de
SET [DEAD] = 'YES'
FROM [QUETABLE] de
WHERE EXISTS (SELECT website, company, zip
FROM dead d2
WHERE d2.website = de.website OR d2.state = de.state OR d2.zip = de.zip
);