Tengo una consulta que está seleccionando un grupo de campos relacionados con los nombres y direcciones de los clientes, sino que se reduce a:¿Por qué "SELECT DISTINCT a, b FROM ..." devuelve menos registros que "SELECT DISTINCT A + '|' + B DE ... "?
SELECT DISTINCT a, b, c, ... FROM big_dumb_flat_table
devuelve un montón de discos (10986590). Si se sustituyen las comas en la lista de selección para formatearlo como una cadena concatenada tubería separada por:
SELECT DISTINCT a + '|' + b + '|' + c + '|' + ... FROM big_dumb_flat_table
Es devolver 248 registros más. Me he asegurado a mí mismo que no hay tuberías en ninguno de los campos que podrían estar atornillando la fidelidad del conjunto devuelto. ¿Que está pasando aqui?
¿Podría ver lo que obtiene con 'SELECT a, b, c ... FROM ... GROUP BY a, b, c ...' y edítelo en su pregunta? (como 'DISTINCT' es técnicamente un (muy conveniente) hack) – AakashM
También agregue count (*) a las consultas y vea qué da eso – Mark
Espero que la consulta que usa concatenación devuelva ** menos ** registros, ya que si alguno de los valores son 'null' obtendrá un resultado' null'. – RedFilter