Solved

UPDATE SQL for Multiple Records

Posted on 2011-09-22
9
335 Views
Last Modified: 2012-05-12
Hi,

We know how to use SQL UPDATE commands (e.g. UPDATE SET Field='Value WHERE etc.)

However we are wanting to UPDATE many records on mass

e.g. UPDATE a table of multiple records and a unique primary key with values from another table with the same common unique primary key in several records

Is this at all possible, and if so can you post some code that work, ohterwise the only other option is to scan thru every record in Table A, get it's Primary Key and then update from the 2nd table. When we have 10,000 records that'll prove a bit typesome!!
0
Comment
Question by:StuartK
9 Comments
 
LVL 18

Accepted Solution

by:
lludden earned 167 total points
ID: 36583475
If TableA and TableB both have ID as a shared Key,

UPDATE TableA SET Field1 = Tableb.Field1, Field2 = TableB.Field2
FROM TableA
INNER JOIN TableB ON TableA.ID = TableB.ID
0
 
LVL 29

Assisted Solution

by:QPR
QPR earned 167 total points
ID: 36583476
0
 
LVL 92

Assisted Solution

by:Patrick Matthews
Patrick Matthews earned 166 total points
ID: 36583485
Something like this:

UPDATE tableA
SET ColumnX = b.ColumnY
FROM tableA a INNER JOIN
    tableB b ON a.ID = b.ID

Open in new window

0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 92

Expert Comment

by:Patrick Matthews
ID: 36583488
slow fingers :)
0
 

Author Comment

by:StuartK
ID: 36587025
Three minutes later get a reply from three gurus!. What can I say!!! and the most perfect of answers from you all! Thanks to everyone. Only thing I can do is split between you.

Thank u so much guys!
0
 

Author Closing Comment

by:StuartK
ID: 36587048
Thanks again!
0
 

Author Comment

by:StuartK
ID: 36588998
Can I ask one further question related to this. i know I've allocated points already. I'd be so grateful for your guidance! Been trying to figure out!

We want our TableB to be from a select statement. Is there anyway we can embed this SELECT statement  below in the above statement

SELECT     MAX(RenewalDate) AS MinRenewalDate, AlarmRef
FROM         dbo.Tbl_AlarmServiceAgreements
GROUP BY AlarmRef

This would save us the hassle of having to create a Temproary Table and using that table as TableB above.
0
 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 36590688
UPDATE  a
SET     Col1 = b.MinRenewalDate
FROM    TableA a
        INNER JOIN (SELECT  MAX(RenewalDate) MinRenewalDate,
                            AlarmRef
                    FROM    dbo.Tbl_AlarmServiceAgreements
                    GROUP BY AlarmRef
                   ) b ON a.ID = b.AlarmRef
0
 

Author Comment

by:StuartK
ID: 36590798
acperkins: you a guru man!!

Was just asking the guys who posted previous and unfortunately I'd already allocated points, but seriously I thank you so much. Again that backs up my opinion of gurus on EE. They don't do it for gain or points, just to help helpless people like myself in distress! lol. Thank you so much!
0

Featured Post

NAS Cloud Backup Strategies

This article explains backup scenarios when using network storage. We review the so-called “3-2-1 strategy” and summarize the methods you can use to send NAS data to the cloud

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Parsing a CSV file is a task that we are confronted with regularly, and although there are a vast number of means to do this, as a newbie, the field can be confusing and the tools can seem complex. A simple solution to parsing a customized CSV fi…
In this article we will get to know that how can we recover deleted data if it happens accidently. We really can recover deleted rows if we know the time when data is deleted by using the transaction log.
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

825 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question