Wednesday, March 7, 2012

I need some help with update query

I have a select statement like select table1.field1, table2.field2, table 3.field3 from table1.inner join table1.field1 on table2.field2 some more joins inner join(derived table -) as newtable on some field.where ( this) and (this)I need this query to do the same thing, but I need to update the same tables and fields.I can find simple examples of inner joins but I cant piece together how to this.Can anyone just give me a basic outline of how an update would look?would I do likeupdate table1inner join table2.field1 on table1.field1 inner join table3 on table1then set table2.field1=@.var1... more sets

Ab:

You have "table1.field1, table2.field2, table3.field3" in your select list; you then say later, " ... I need to update the same tables and fields ..."

Understand, if you really are wanting to update multiple tables this cannot be done in a single update statement. Update statements can only operate on one table at a time. If you need to update three tables, you are going to need three separate updates -- each update statment corresponding to the particular table that is targeted for update. The update statements will tend to look something like

update table1
set field1 = newValue1,
field2 = newValue2,
...
fieldN = newValueN
from table1
someKindOfJoin table2
on (joinConditionsFor_2)
someKindOfJoin tableN
on (joinConditionsFor_N)
where (whereConditions)

|||I actually figured this out, but I guess there is no way to update multiple tables in 1 update query? Why can selects use multiple tables but updates cant?

No comments:

Post a Comment