Tengo una tabla en SQL Server 2000 que estoy tratando de consultar de una manera específica. La mejor manera de mostrar esto es con datos de ejemplo.Consulta SQL para devolver un solo registro para cada valor único en una columna
He aquí, [Addresses]
:
Name Street City State
--------------------------------------------------------
Bob 123 Fake Street Peoria IL
Bob 234 Other Street Fargo ND
Jim 345 Main Street St Louis MO
Esto es en realidad un ejemplo simplificado de la estructura de la mesa real. La estructura de la mesa está completamente fuera de mi control. Necesito una consulta que me devuelva una sola dirección por nombre. No importa qué dirección, solo que hay una sola. El resultado podría ser la siguiente:
Name Street City State
--------------------------------------------------------
Bob 123 Fake Street Peoria IL
Jim 345 Main Street St Louis MO
me encontré con una pregunta similar here, pero ninguna de las soluciones dadas a trabajar en mi caso, porque no tengo acceso a CROSS APPLY
, y llamando MIN()
en cada columna a mezclar diferentes direcciones juntas , y aunque no me importa qué registro se devuelve, debe ser una fila intacta, no una combinación de filas diferentes.
Las recomendaciones para cambiar la estructura de la tabla no me ayudarán. Estoy de acuerdo en que esta tabla es terrible, (es peor que la que se muestra aquí), pero esto es parte de una importante base de datos de ERP que no puedo cambiar.
Hay alrededor de 3000 registros en esta tabla. No hay clave principal.
¿Alguna idea?
¿Puede dar una idea de cuántos registros hay en su tabla? Tengo algunas ideas para hacer esto, pero puede que no sea muy rápido si hay miles/millones de registros. –
¿Tiene alguna clave principal en esta tabla? –
~ 3000 registros, y no PK, sorprendentemente. Agregué esta información a la pregunta. – recursive