DELETE table1 FROM table1 T join joinData ON T.f2=joinData.frThis query joins two tables table1 as T and joinData as joinData, it deletes records from table1 as T:
DELETE T FROM table1 T join joinData ON T.f2=joinData.frThanks,
>>>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 >>>>>>