> Try ON (EA.ENTRY_ID = +E.ENTRY_ID) Yes, that works indeed nicely. Thanks for that. I keep forgetting these non-standard SQL tricks.
RBS On Tue, Jul 12, 2011 at 9:28 PM, Igor Tandetnik <itandet...@mvps.org> wrote: > On 7/12/2011 3:39 PM, Bart Smissaert wrote: >> Joining a large table (ENTRY_ATTRIBUTES) and a small table >> (BPNewENTRY) and putting the resulting records >> in a third table, BP3. Large table may have a few million records and >> small table a few hundred records. >> The join field is called ENTRY_ID in both tables and this has a >> non-unique index in the large table and is the integer primary key >> in the small table. Data type is integer in both these fields. >> >> This is the SQL: >> >> INSERT OR REPLACE INTO BP3 >> (ENTRY_ID, NUMERIC_VALUE, UNIT) >> SELECT EA.ENTRY_ID, EA.NUMERIC_VALUE, EA.TYPE_SPECIFIC_INFO >> FROM >> ENTRY_ATTRIBUTES EA INNER JOIN BPNewENTRY E ON >> (EA.ENTRY_ID = E.ENTRY_ID) > > Try ON (EA.ENTRY_ID = +E.ENTRY_ID) . The unary plus should suppress > the index on BPNewENTRY, and force SQLite to turn the execution around: > scan BPNewENTRY and look up in ENTRY_ATTRIBUTES using index. > -- > Igor Tandetnik > > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users