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)

 

Reply via email to