Para responder a su pregunta, la forma en que funciona es que la base de datos devuelve una fila por cada uno de los valores distintos, pero no hay ninguna garantía de que cada vez que utilice la capa de la misma, se devuelven las filas. Qué fila se apega a es un tanto arbitraria, especialmente si las personas son de la edición de la tabla en cuestión.
Alternativas para el identificador único que en realidad no es única, puede variar dependiendo de la consulta real y lo que realmente se desea que la consulta devuelva. Depende de si usted necesita para unirse o filtro de tablas, si usted necesita para editar y cómo estática de los datos.
Si usted sólo tiene que poner una copia de una sola tabla, y que se carece de un identificador único del tipo de columna correcto, puede utilizar la Copia de las Filas de la herramienta. Esto creará una copia de la tabla con un nuevo ObjectID de la columna.
Usted podría tener el administrador de base de datos agregar una columna de identificador único para cada tabla en la que debe estar unido en su capa de consulta.
Usted podría tener el administrador de base de datos crear una tabla de la vista para usted. Esta es una tabla compilada a partir de una consulta SQL, por lo que se pueden unir y filtrada. Esto sería hacer lo mismo que está tratando de hacer con su capa de consulta, excepto de hacerlo sobre la base de datos secundarios. Vistas permanecer sincronizados con los datos que se están tirando de, de manera que permanezcan actual.
Francamente, es posible que la persona que pone la capa de consulta juntos, no sé SQL muy bien. Tal vez la consulta podría ser fijo para hacer lo que quieres hacer. Tal vez se puede conseguir a alguien más sabio para ayudar a ellos.
Espero que esta información le dará algunas ideas para discutir con sus compañeros de equipo.