Forums Últimos mensajes - Powered by IBM
 

Ordenar dos columnas del mismo nombre.

16/12/2004 - 19:58 por manolo | Informe spam
Hola,

Tengo esta consulta:

Select Articulos.cInterno, rtrim(Articulos.Descripcion + ' ' +
Tallas.Descripcion + ' ' + Colores.Descripcion) as Descripcion
from Articulos left join Tallas on articulos.talla = tallas.Codigo
left join colores on articulos.color = colores.codigo
inner join DetallesArticulos on articulos.codigo =
detallesarticulos.codarticulo
inner join Familias on articulos.Familia = Familias.Codigo
inner join subFamilias on articulos.subFamilia = subFamilias.Codigo
where DetallesArticulos.Stock > 0
order by Familias.Descripcion, subFamilias.Descripcion

Pues bien, me da error, no puedo ordenar porque dice:

Servidor: mensaje 169, nivel 15, estado 3, línea 8
Se ha especificado más de una vez la misma columna en la lista ORDER BY. Las
columnas de la lista ORDER BY deben ser únicas.

Si les cambio el nombre con as, no traga, cosa que es normal, y no se
como hacerlo. Seguramente será algo que se me escapa, pero ya a estas
horas... uff...

P.D.: No puedo poner más campos en la instrucción select.

Un saludo.
 

Leer las respuestas

#1 Gustavo Larriera [MVP]
16/12/2004 - 20:35 | Informe spam
/* extraido de los Books Online (BOL) */

Se puede especificar una columna de orden como un nombre o alias de
columna (que puede estar calificado con el nombre de una tabla o vista),
una expresión o un entero no negativo que representa la posición del
nombre, alias o expresión en la lista de selección.

ORDER BY numero, numero2

donde numero y numero2 serán los numeros de posición de las columnas, en
la lista a continuación del verbo SELECT.


"manolo" wrote in message
news::
Hola,

Tengo esta consulta:

Select Articulos.cInterno, rtrim(Articulos.Descripcion + ' ' +
Tallas.Descripcion + ' ' + Colores.Descripcion) as Descripcion
from Articulos left join Tallas on articulos.talla = tallas.Codigo
left join colores on articulos.color = colores.codigo
inner join DetallesArticulos on articulos.codigo > detallesarticulos.codarticulo
inner join Familias on articulos.Familia = Familias.Codigo
inner join subFamilias on articulos.subFamilia = subFamilias.Codigo
where DetallesArticulos.Stock > 0
order by Familias.Descripcion, subFamilias.Descripcion

Pues bien, me da error, no puedo ordenar porque dice:

Servidor: mensaje 169, nivel 15, estado 3, línea 8
Se ha especificado más de una vez la misma columna en la lista ORDER BY.
Las
columnas de la lista ORDER BY deben ser únicas.

Si les cambio el nombre con as, no traga, cosa que es normal, y no se

como hacerlo. Seguramente será algo que se me escapa, pero ya a estas
horas... uff...

P.D.: No puedo poner más campos en la instrucción select.

Un saludo.




Gustavo Larriera, MVP SQL
http://sqljunkies.com/weblog/gux

Este mensaje se proporciona "como está" sin garantías de ninguna clase,
y no otorga ningún derecho / This message is provided "AS IS" with no
warranties expressed or implied, and confers no rights.

Preguntas similares