SELECT DISTINCT ( SELECT 'm' FROM DUMMY ) AS field1, CONCAT( table2.`col_varchar_nokey`, table1.`col_varchar_nokey` ) AS field2 FROM ( C AS table1 RIGHT JOIN C AS table2 ON (table2.`col_int_key` = table1.`pk` ) ) WHERE ( EXISTS ( SELECT SUBQUERY2_t1.`pk` AS SUBQUERY2_field1 FROM ( C AS SUBQUERY2_t1 LEFT OUTER JOIN C AS SUBQUERY2_t2 ON (SUBQUERY2_t2.`col_varchar_nokey` = SUBQUERY2_t1.`col_varchar_key` ) ) WHERE SUBQUERY2_t1.`col_varchar_key` <= table2.`col_varchar_nokey` ) ) OR table2.`col_varchar_key` > table2.`col_varchar_key` ORDER BY field2 /*+JavaDB:Postgres: NULLS FIRST */, field1 /*+JavaDB:Postgres: NULLS FIRST */, field2 /*+JavaDB:Postgres: NULLS FIRST */;