>>CLEAR >> >>CREATE CURSOR joindata (fr i) >>INSERT INTO joinData VALUES (1) >> >>CREATE CURSOR table1 (f2 i) >>INSERT INTO table1 VALUES (1) >>INSERT INTO table1 VALUES (2) >>INSERT INTO table1 VALUES (3) >>INSERT INTO table1 VALUES (4) >> >>INDEX ON f2 TAG tf2 >> >>SET DELETED OFF >>SYS(3054,11) >> >>* result is correct >>DELETE table1 FROM table1 join joinData ON table1.f2=joinData.fr >>? _tally >>BROWSE >>RECALL ALL IN table1 >> >>* Result is wrong, table1 is not filtered and all records are deleted >>DELETE table1 FROM table1 T join joinData ON T.f2=joinData.fr >>? _tally >>BROWSE >>RECALL ALL IN table1 >> >>* expected a compile Error >>* the where correlate the two table1, and fix the issue >>DELETE table1 FROM table1 T join joinData ON t.f2=joinData.fr where T.f2=table1.f2 >>? _tally >>BROWSE >>RECALL ALL IN table1 >> >>* expected a compile Error, the command is ambiguous >>DELETE table1 FROM table1 T join joinData ON table1.f2=joinData.fr where T.f2=table1.f2 >>? _tally >>BROWSE >>>>