Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

[SOLUCIONADO] La columna de la lista de seleccion no es valida. Query SQL

Estas en el tema de La columna de la lista de seleccion no es valida. Query SQL en el foro de SQL Server en Foros del Web. Muy buenas tardes con todos, tengo la siguiente consulta, la cual me bota el dichoso error: La columna 'Itessa_Data..ERP_TIN_PROGRAMA_DIARIO.id_articulo' de la lista de selección no ...
  #1 (permalink)  
Antiguo 02/05/2016, 16:55
 
Fecha de Ingreso: octubre-2013
Mensajes: 12
Antigüedad: 11 años, 1 mes
Puntos: 0
Exclamación La columna de la lista de seleccion no es valida. Query SQL

Muy buenas tardes con todos, tengo la siguiente consulta, la cual me bota el dichoso error:

La columna 'Itessa_Data..ERP_TIN_PROGRAMA_DIARIO.id_articulo' de la lista de selección no es válida, porque no está contenida en una función de agregado ni en la cláusula GROUP BY.

Consulta:

Select distinct (Case LEFT(A.id_articulo,2) when 'M-' then LEFT(A.id_articulo,2) else LTRIM(RTRIM(REPLACE(LEFT(A.id_articulo,3),'-',''))) end),
(case LEFT(A.id_articulo,2) when 'M-' then '' else ISNULL(B.descripcion,'')end) as Descripcion,
ISNULL(SUM(A.kilos),0.0) as Kilos,
ISNULL(SUM(A.kg_reproceso),0.0) as 'Kilos Reproceso'
from Itessa_Data..ERP_TIN_PROGRAMA_DIARIO A
LEFT join Itessa_Data..TAB_ARTICULO B on LTRIM(RTRIM(REPLACE(LEFT(A.id_articulo,3),'-',''))) = B.id_articulo
where (partida <> '' and partida <> '00000')
and (A.fec_programa between '28/03/2016' and '02/05/2016')
and (A.id_articulo <> '' and a.id_articulo is not null)
Group by (Case LEFT(A.id_articulo,2) when 'M-' then LEFT(A.id_articulo,2) else LTRIM(RTRIM(REPLACE(LEFT(A.id_articulo,3),'-',''))) end),
descripcion


Por favor ayudenme!!
  #2 (permalink)  
Antiguo 02/05/2016, 17:27
 
Fecha de Ingreso: octubre-2013
Mensajes: 12
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: La columna de la lista de seleccion no es valida. Query SQL

Una cosa mas, si a la consulta le quito la linea de la descripcion y la dejo como B.Descripcion no me bota el error, pero tengo que hacer ese case porque quiero que todos los articulos que comienzan con 'M-' su descripcion siempre salga '' (vacia)
  #3 (permalink)  
Antiguo 02/05/2016, 17:36
 
Fecha de Ingreso: octubre-2013
Mensajes: 12
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: La columna de la lista de seleccion no es valida. Query SQL

Ya lo solucione, cambie mi consulta, quedo asi:

Select distinct (Case LEFT(A.id_articulo,2) when 'M-' then ltrim(rtrim(LEFT(A.id_articulo,2))) else LTRIM(RTRIM(REPLACE(LEFT(A.id_articulo,3),'-',''))) end),
ISNULL(B.descripcion,''),
ISNULL(SUM(A.kilos),0.0) as Kilos,
ISNULL(SUM(A.kg_reproceso),0.0) as 'Kilos Reproceso'
from Itessa_Data..ERP_TIN_PROGRAMA_DIARIO A
LEFT join Itessa_Data..TAB_ARTICULO B on (case LEFT(A.id_articulo,2) when 'M-' then A.id_articulo else LTRIM(RTRIM(REPLACE(LEFT(A.id_articulo,3),'-','')))end) = B.id_articulo
where (partida <> '' and partida <> '00000')
and (A.fec_programa between '28/03/2016' and '02/05/2016')
and (A.id_articulo <> '' and a.id_articulo is not null)
Group by (Case LEFT(A.id_articulo,2) when 'M-' then ltrim(rtrim(LEFT(A.id_articulo,2))) else LTRIM(RTRIM(REPLACE(LEFT(A.id_articulo,3),'-',''))) end),
descripcion

Etiquetas: sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:37.