>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 >>