TEMA : Select que muestre toda la tabla con un group by - Foro de Tu Informática Fácil

TEMA : Select que muestre toda la tabla con un group by

Select que muestre toda la tabla con un group by 21 Mar 2014, 15:00 #164

  • maxi_lp_mx93
  • Avatar de maxi_lp_mx93
  • DESCONECTADO
  • Karma:

Estimados necesito ayuda urgente!:

 

tengo una tabla en SQL con unas 200 columnas, y necesito hacer un select que muestre todas las columnas (select * from ....) PERO que en la columna_3 solo muestre un dato único ya que hay varios repetidos; intente con un "select * from TABLA group by columna_3" pero me sale el error "ORA-00979: not a GROUP BY expresión.", ya que SQL restringe que todos los campos del select deben estar en el group by.

 

Please, Help meeeeee!!!  🙁

Re: Select que muestre toda la tabla con un group by 22 Mar 2014, 12:36 #166

  • luigy69
  • Avatar de luigy69
  • DESCONECTADO
  • Karma:

Buenas, prueba esto,

 

SELECT DISTINCT * FROM tabla

 

Esto devolverá rows únicas.

 

Dime si te sirve, sino busco otra formula.

 

Saludos.

Re: Select que muestre toda la tabla con un group by 24 Mar 2014, 12:24 #167

  • maxi_lp_mx93
  • Avatar de maxi_lp_mx93
  • DESCONECTADO
  • Karma:

estimado:

 

probé el select DISTINCT * FROM tabla y no me funciono, me salen los datos repetidos como si pusiera "select * FROM tabla" .

 

Saludos

Re: Select que muestre toda la tabla con un group by 24 Mar 2014, 12:48 #168

  • luigy69
  • Avatar de luigy69
  • DESCONECTADO
  • Karma:

Para entender un poco más el problema, si haces un SELECT * FROM tabla sin clausula WHERE vas a obtener todas las rows de la tabla por lo que no tiene sentido hacer nada para obtener valores únicos en la columna_3, explícame con un poco más detalle los requerimientos que tienes para está select, podemos ver posibilidades de meter una select en la clausula FROM para restringir los valores de la columna_3, por ejemplo.

 

Saludos.

Re: Select que muestre toda la tabla con un group by 24 Mar 2014, 13:15 #169

  • maxi_lp_mx93
  • Avatar de maxi_lp_mx93
  • DESCONECTADO
  • Karma:

ok, te tratare de explicar mejor lo que necesito 🙂

 

tengo una tabla en la que hay aproximadamente 200 columnas y 3000 filas, en cada columna existen datos que se repiten, por ejemplo, en la "columna_3" estan el numero de vuelo, los que se repiten en varias filas, lo que necesito es hacer un select que me muestre las 200 columnas pero que [b]solo muestre un dato de la columna 3[/b], osea si tengo 200 vuelos "LA0800" que solo me salga el 1° de ellos y sus respectivas columnas hacia los lados. que de las 3000 filas quedaran como 500 aprox.

El "filtro" solo necesito que se aplique en la columna_3, las demás columnas no importa si se repiten los datos.

 

Saludos y gracias 🙂

Re: Select que muestre toda la tabla con un group by 24 Mar 2014, 15:31 #170

  • luigy69
  • Avatar de luigy69
  • DESCONECTADO
  • Karma:

Bueno creo que ya se lo que quieres hacer, para ello vas a utilizar el comando BREAK de SQL*Plus, para la columna_3 utiliza un alias, ejemplo,

 

BREAK ON column3

 

SELECT columna_1, columna_2, columna_3 column3, columna_4, …… el resto de columnas

FROM tabla

ORDER BY column3;

 

Esto hará que solo aparezca una ocurrencia del vuelo “LA0800” en la columna_3 para todas las rows que tengan este vuelo.

 

Saludos.

Re: Select que muestre toda la tabla con un group by 24 Mar 2014, 15:38 #171

  • luigy69
  • Avatar de luigy69
  • DESCONECTADO
  • Karma:

También puedes hacerlo más sencillo,

 

BREAK ON columna_3

 

SELECT *

FROM tabla

ORDER BY columna_3

 

Saludos.

Conectados

Total de usuarios conectados 383 :: 0 Miembro(s) y 383 invitado(s).
Leyenda:  Administrador del Sitio Moderador Global Moderador Sancionado Usuario Invitado

Estadísticas

Total de mensajes : 379 | Total temas : 145 | Total miembros : 37533
Nuestro nuevo miembro : coro1959
JDL Forum