Hrmm... I wonder if this would work (complete guess, totally untested) INSERT OR REPLACE INTO core SELECT Core.A, Updates.B, Core.C, Updates.D FROM Core INNER JOIN Updates ON (Core.A = Updates.A)
Idea being, I guess, to get the rows that you ultimately want from the sub-select and then use insert or replace to get them into the table. -T > -----Original Message----- > From: Chris Peachment [mailto:[EMAIL PROTECTED] > Sent: Thursday, August 23, 2007 2:15 PM > To: sqlite-users@sqlite.org > Subject: Re: [sqlite] Update Columns in One Table Using > Values From Another Table > > On Thu, 23 Aug 2007 18:58:32 +0200, Kees Nuyt wrote: > > >Hi Chris, > > >On Thu, 23 Aug 2007 12:14:51 -0400, you wrote: > > >>On Thu, 23 Aug 2007 08:52:40 -0700, Gerry Snyder wrote: > >> > >>>Chris Peachment wrote: > >>>> I have a database with more than 200,000 records in the > >>>> core table. An update table of similar record count contains > >>>> a proper subset of the core table columns. > >>>> > >>>> I'm looking for a fast method of merging the values in the > >>>> two tables such that : > >>>> > >>>> 1. core table columns are updated, and > >>>> 2. non-existent core records are inserted from the update table. > >>>> > >>>Will INSERT OR REPLACE do what you want? > >> > >> > >>>Gerry > >> > >> > >>Regrettably no. When an existing core record is found then it > >>is deleted before the insert. That means that all columns are > >>given new values and not just the ones to be updated. > > >That is exactly what INSERT OR REPLACE does. > > >http://www.sqlite.org/lang_insert.html > >http://www.sqlite.org/lang_conflict.html > > > Sorry for the confusion I introduced. I know the behaviour > of INSERT OR REPLACE is as-described, and that is NOT > what I want. I need to keep the non-updated columns. > > Chris > > > > > -------------------------------------------------------------- > --------------- > To unsubscribe, send email to [EMAIL PROTECTED] > -------------------------------------------------------------- > --------------- > > ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------