SQL Update statement

Hi All,
I have two sql tables in a database.

Companies - contains acname (account name), outlettype
FirstNames - contains 1 column called 'names'

I have a list of our customers in the companies table.
I have a list of individuals first names in the Firstnames table.

I want to
update companies.outlettype to ELEC2 if the acname begins (starts) with any of the names exists in the firstnames.name column

basically i am trying to seperate individuals from companies to segment the data for marketing by updating the outlettype.

I have been doing the following statement on individual records using the following

UPDATE    ACOCMP1.COMPANIES
SET              OUTLETTYPE = 'ELEC2'
WHERE     (ACNAME LIKE 'john %') AND (OUTLETTYPE IS NULL)

But i would like to do this on a large scale with 5495 first names that i have obtained in the FirstNames table

There are around 80,000 records in my companies table so doing them all manually will take a little time :-)

I would be grateful if you could help me with the query to do this mass update.
bapkinsAsked:
Who is Participating?
 
Aneesh RetnakaranDatabase AdministratorCommented:
UPDATE   c
SET              OUTLETTYPE = 'ELEC2'
FROM  ACOCMP1.COMPANIES  c
WHERE EXISTS  (SELECT 1 FROm Firstnames  where c.acname like firstName+'%' )
0
 
bapkinsAuthor Commented:
thanks for that

is this bit correct ?

where c.acname like firstName+'%' )
0
 
MultimaticCommented:
To append the % for the wild card search, use CONCAT:

For example:

SELECT 1 FROm Firstnames  where c.acname like LIKE CONCAT(firstName,'%')

Whoops sorry, that was MYSQL syntax.... think that is fine for MSSQL?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.