Realmente no importa si es paradox, interbase, mysql o cualquier otro. Entra al Database Desktop y haz las consultas ahí y verás que te da los mismos resultados que has visto.
El problema aquí está en una incorrecta interpretación de lo que significa este tipo de consultas.
DISTINCT le dice al servidor:
De los registros que encuentres traeme sólo una copia de aquellos que estén repetidos.
Pero para que dos regitros se consideren repetidos deben coincidir todos sus campos (los incluídos en la consulta)
Suponte que tu tabla es algo así:
Código:
id | nombre | referencia
1 | peter | 84
2 | paul | 35
3 | mary | 84
Si tu consulta es
select distinct * from tabla
los registros que encuentra son
(1, peter, 84)
(2, paul, 35)
(3, mary, 84)
Como no hay ninguno repetido te rgresa todos.
Si la consulta es
select distinct referencia from tabla
los registros encontrados son
(84)
(35)
(84)
(Así,
sin más campos)
Como el primero y el tercero se repiten entonces sólo te regresa
(84)
(35)
Parece que tu quisieras que te regresara todos los campos pero sólo uno con referencia=84. Sin embarg hay dos:
(1, peter, 84)
(3, mary, 84)
¿Cómo podría el servidor saber cuál de estos dos regresar?
De cualquier forma, quizá no estemos entendiendo del todo cuál es tu propósito. Si nos ejemplificas con unos registros en concreto (tal como los de arriba, ¡sin los 15 campos!) sabremos con más detalle lo que deseas. Indica también, usando dichos ejemplos, los resultados que esperarías.
// Saludos