SQL Server - Multi-Select a la misma tabla

 
Vista:

Multi-Select a la misma tabla

Publicado por Claudio (1 intervención) el 15/10/2017 17:49:43
Amigos, estoy trabajando en un pequeño proyecto (vb.net)- Sql Server 2008, y estoy entrampado con algo que de seguro ustedes podran ayudarme.

tengo una tabla llamada Cosecheros, en la cual tengo los sgtes campos:

a) Nombre
b)Cantidad_Cajas
c) Kg_Super
d) Calidad
e)Peso_Neto_Por_Caja

Mi query Consulta es la sgte:

(SELECT DISTINCT(Numero) AS 'Numero',
Nombre AS 'Nombre',
SUM(Cantidad_Cajas) AS 'Cajas Super',
ROUND(ROUND(SUM(Peso_Neto_Por_Caja),2,0) * (SUM(Cantidad_Cajas)),2,0) AS 'KG Cajas Super',

(SELECT SUM(Cantidad_Cajas) AS 'Cajas Super' FROM [DB].[dbo].[Registro_Cosecheros]
WHERE Sector=1 AND Num_Semana_Cosecha = 41 and Calidad in('Descarte') group by Numero, Nombre)

FROM [DB].[dbo].[Registro_Cosecheros]
WHERE Sector=1 AND Num_Semana_Cosecha = 41 and Calidad in('Supermercado') group by Numero, Nombre)

Y me devuelve el sgte mensaje:

"La subconsulta ha devuelto más de un valor, lo que no es correcto cuando va a continuación de =, !=, <, <=, >, >= o cuando se utiliza como expresión"

Creen que puedan ayudarme?

necesito conseguir esto con datos de la misma tabla:

Numero I Nombre I Cajas Super I Kg Super I Cajas Descarte I Kg Descarte


Desde ya muchas gracias a todos,

Mis Saludos,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Multi-Select a la misma tabla

Publicado por Isaias (4558 intervenciones) el 16/10/2017 18:16:50
No tengo forma de probar el query, por lo que se entrega "AS IS"

Desconozco porque esta utlizando el DISTINCT

1
2
3
4
5
6
7
8
SELECT DISTINCT(Numero) AS 'Numero',
Nombre AS 'Nombre',
SUM(CASE WHEN Calidad = 'Supermercado' THEN Cantidad_Cajas END) AS 'Cajas Super',
SUM(CASE WHEN Calidad = 'Supermercado' THEN ROUND(ROUND(SUM(Peso_Neto_Por_Caja),2,0) * (SUM(Cantidad_Cajas)),2,0)) AS 'KG Cajas Super',
SUM(CASE WHEN Calidad = 'Descarte' THEN Cantidad_Cajas END) AS 'Cajas Descarte'
FROM [DB].[dbo].[Registro_Cosecheros]
WHERE Sector=1 AND Num_Semana_Cosecha = 41
GROUP BY Numero, Nombre

No se en que momento calcula y como se calcula: Kg Descarte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar