2010-08-02 13 views
12

Preferiría no tener que enumerar todas las columnas en la tabla A El '*' funciona para una tabla, pero no quiero recuperar todas las columnas de la tabla B de JOIN. Por lo que respecta a la razón, estos registros se están eliminando, y quiero almacenar datos de la tabla A (solo) como xml serializado durante un período de tiempo.¿Cómo devuelvo TODAS las columnas en una tabla y solo unas pocas en otra usando join?

+2

Podría decirse que es mejor llamar cada columna por nombre, en lugar de usar *. Las ventajas de llamar columnas por nombre pueden incluir un menor uso de ancho de banda, un mayor rendimiento y costos de mantenimiento controlados (cuando las columnas se agregan a la tabla subyacente). – kbrimington

+0

es probable que tenga problemas si también está tratando de utilizar un grupo por declaración con el método select tableName. *. A menos que tenga una tabla muy amplia con muchas variables y nunca importa si se agregan nuevas variables (¡poco probable!), Debe listar explícitamente las variables. –

Respuesta

20
select tableA.*, tableB.col1, tableB.col2, ... 
+1

@Martin Ella/él dijo que * no * quiere todas las columnas en la tabla B – NullUserException

+1

@Null - Absolutamente correcto - Debo necesitar otro café. –

+0

Downvoted para alentar el uso de un SQL ANtipattern – HLGEM

3

No es una práctica habitual utilizar alguna vez * o seleccionar tabla1. *. Es malo para el mantenimiento y el rendimiento ambos. Nunca debes hacer eso en el código de producción.

Simplemente use los nombres de columna que desee.

+1

Eso es bueno saber. Sería bueno saber que las columnas recién agregadas se incluirán automáticamente desde TableA. Si esta no era una consulta para eliminar los registros, definitivamente codificaría todos los nombres de columna necesarios para la consulta. En este caso, necesito serializar todos los datos en caso de que sea necesario realizar una restauración. Gracias, –

+0

muy buen punto – JBoy

+0

sí, pero al parecer este chico y yo necesita todas las columnas –

Cuestiones relacionadas