SQL - Subconsultas

 
Vista:
sin imagen de perfil

Subconsultas

Publicado por Jose (5 intervenciones) el 15/11/2021 20:46:05
Saludos a todos. Necesito su ayuda para resolver el siguiente problema de SQL. Me lo asignaron en la empresa para resolverlo en subconsultas. No puedo resolverlo. Adjuntó el enunciado, las tablas y el poco código que escribí. Les ruego su ayuda. Muchas Gracias.



/*g. Listar los datos de los vendedores que han hecho ventas que
superan al 50% del promedio de ventas.*/

Vendedor
CodVendedor smallint PK
NombreCobrador varchar(50) NN
PorcComision real NN



Factura
NroFactura int PK,identity(1,1)
NroCuenta int FK,NN
CodVendedor smallint FK,NN
PorcComision real NN
CodAgencia smallint FK,NN
CodDeposito smallint +,NN
CodMoneda smalint FK,NN
FechaCotizacion datetime NN
MontoCambio money NN
FechaEmision datetime NN
FechaRendicion datetime
Plazo int NN
PorcDescuento real NN,Default 0
MontoTotal money
MontoIVA money
MontoNetoIVA money






SELECT V*
FROM VENDEDOR V
JOIN FACTURA F ON F.CodVendedor = V.CodVendedor
WHERE (
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

Subconsultas

Publicado por Martha (14 intervenciones) el 15/11/2021 23:06:03
El promedio te lo calculo sobre 'montonetoiva', que entiendo que es el valor que te interesa y también para las ventas producidas durante el año 2021.

Donde digo año, puedes poner entre fechas. Es un poco absurdo calcular el promedio de todas las entradas que tenga la tabla facturas, porque el promedio suele variar con los años, ya que se cambian los precios.

1
2
3
4
5
6
7
SELECT DISTINCT vendedor.codvendedor, vendedor.nmbrecobrador FROM vendedor
JOIN factura ON vendedor.codvendedor = factura.codvendedor
WHERE `montonetoiva` > (
	SELECT AVG(montonetoiva)* 0.5 from factura
	WHERE year(fecharendicion)='2021')
 
        AND year(fecharendicion)='2021';
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
sin imagen de perfil

Subconsultas

Publicado por Jose (5 intervenciones) el 17/11/2021 20:22:44
Muchas Gracias por su ayuda. Éxitos.
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
sin imagen de perfil

Subconsultas

Publicado por Jose (5 intervenciones) el 18/11/2021 00:08:30
Me genera un error al ejecutar la consulta. Vuelvo a solicitar ayuda. Disculpen las molestias. Gracias a todos.


1
2
3
4
5
6
SELECT DISTINCT vendedor.codvendedor, vendedor.NombreVendedor FROM vendedor
JOIN factura ON vendedor.codvendedor = factura.codvendedor
WHERE factura.MontoNetoIVA > (SELECT
         YEAR(factura.FechaEmision) = 2021
	SELECT AVG(montonetoiva)* 0.5 from factura
		WHERE year(factura.FechaRendicion)='2021')


Msg 102, Level 15, State 1, Line 44
Incorrect syntax near '='.
Msg 102, Level 15, State 1, Line 46
Incorrect syntax near '
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
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Subconsultas

Publicado por Isaias (1919 intervenciones) el 18/11/2021 01:38:15
Veamos:

1
2
3
4
5
SELECT DISTINCT vendedor.codvendedor, vendedor.NombreVendedor FROM vendedor
JOIN factura ON vendedor.codvendedor = factura.codvendedor
WHERE factura.MontoNetoIVA > (
	SELECT AVG(montonetoiva)* 0.5 from factura
		WHERE year(factura.FechaRendicion)=2021)
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
sin imagen de perfil

Subconsultas

Publicado por Jose (5 intervenciones) el 22/11/2021 19:27:04
Muchas Gracias. Éxitos.
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