SET COLLATE TO 'GENERAL' SET DELETED ON *-- Create Tables and Index CREATE TABLE table1 (field1 C(1), field2 C(1)) INSERT INTO table1 (field1,field2) VALUES("A","1") INSERT INTO table1 (field1,field2) VALUES("A","2") INSERT INTO table1 (field1,field2) VALUES("A","3") INSERT INTO table1 (field1,field2) VALUES("B","1") INSERT INTO table1 (field1,field2) VALUES("B","2") INSERT INTO table1 (field1,field2) VALUES("B","3") INDEX ON field1 TAG field1 COLLATE 'general' INDEX ON field2 TAG field2 COLLATE 'general' ADDITIVE INDEX ON DELETED() TAG deleted COLLATE 'general' ADDITIVE CREATE TABLE table2 (field1 C(1), field2 C(1)) INSERT INTO table2 (field1,field2) VALUES("A","1") INSERT INTO table2 (field1,field2) VALUES("A","2") INSERT INTO table2 (field1,field2) VALUES("B","1") INSERT INTO table2 (field1,field2) VALUES("B","2") INDEX ON field1 TAG field1 COLLATE 'general' INDEX ON field2 TAG field2 COLLATE 'general' ADDITIVE INDEX ON DELETED() TAG deleted COLLATE 'general' ADDITIVE *-- *-- Count the joined records. Expected Result = 4 *-- *-- Wrong Result: 12 SELECT COUNT(*) FROM table1 INNER JOIN table2 ON ; table1.field1=table2.field1 AND ; table1.field2=table2.field2 *-- Wrong Result: 8 SELECT COUNT(*) FROM table1 INNER JOIN table2 ON ; table1.field2=table2.field2 AND ; table1.field1=table2.field1 *-- Correct Result: 4 SELECT COUNT(*) FROM table1 INNER JOIN table2 ON ; table1.field1+table1.field2=table2.field1+table2.field2When I do only one of the following things, the result is correct: