What is the correct SQL syntax for deleting records from a single table
based on a where clause with multiple table references?
For example:
Sqlite> DELETE from timeline where timeline.name=del_timelines.name and
timeline.last_change<=del_timelines.last_change;
SQL error: no such column: del_timeline.name
This is probably because I did not refer to the del_timelines table in
the from clause. But I only want to delete only from the timelines
table - not the del_timelines table.
MySQL allows me a different syntax for DELETE:
MySQL> DELETE timeline FROM timeline,del_timeline where ....
But this alternate DELETE syntax does not seem to be allowed in sqlite.
Thanks for any help.
Schemas follow:
CREATE TABLE timeline(
name VARCHAR(32) not null,
sim_time VARCHAR(10),
perf_time VARCHAR(10),
plot_time VARCHAR(10) ,
dmg_code VARCHAR(32) not null,
dmg_type VARCHAR(1) not null,
compt_id VARCHAR(16),
item_id VARCHAR(16),
neighbor VARCHAR(16),
source VARCHAR(10),
last_change INTEGER
);
CREATE TABLE del_timelines(
name VARCHAR(32) primary key not null,
last_change INTEGER
);
Shawn M. Downey
MPR Associates
632 Plank Road, Suite 110
Clifton Park, NY 12065
518-371-3983 x3 (work)
860-508-5015 (cell)