SQL Server - SubConsultas SQL SERVER

 
Vista:
sin imagen de perfil
Val: 14
Ha aumentado su posición en 3 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

SubConsultas SQL SERVER

Publicado por Osvaldo (13 intervenciones) el 20/04/2021 01:05:13
Saludos a todos. Deseo recibir sus aportes y criticas al siguiente código SQL, trabajo con SQL SERVER e intente realizar una subconsulta. Utilice dos tablas.

VENDEDOR
CodVendedor smallint PK
NombreVendedor varchar(50)
PorcComision real NOT NULL


FACTURA
NroFactira int PK,identity (1,1)
NroCuenta int FK,NOT NULL
CodVendedor smallint FK,NOT NULL
PorComision real NOT NULL
CodAgencia smallint FK,NOT NULL
CodDeposito smallint FK, NOT NULL
CodMoneda smallint FK,NOT NULL
FechaCotizacion datetime NOT NULL
MontoCambio money NOT NULL
FechaEmision datetime
FechaRendicion datetime
Plazo int NOT NULL
PorcDescuento real NOT NULL, Default 0
MontoTotal money
MontoIVA money
MontoNetoIVA money




El siguiente es el enunciado y el código al cual llego.


1
2
3
4
5
/*Listar datos de vendedores que hayan realizado ventas superiores a 10.000.000 */
select Vendedor.*
From Vendedor
where  codvendedor > (select Factura.Montototal from factura where
factura.Codvendedor = vendedor.codvendedor and montototal = 10000000)
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

SubConsultas SQL SERVER

Publicado por Isaias (4558 intervenciones) el 20/04/2021 15:35:27
¿Y que resultado le da?, seguro que no es el esperado, ya que en su SUB-CONSULTA (Ignoro para que hacer una sub-consulta), esta comparando al codvendedor > Factura.Montototal, esto carece de todo sentido.

Veamos

1
2
3
4
5
SELECT CodVendedor
, NombreVendedor
, F.MontoTotal
FROM VENDEDOR V INNER JOIN FACTURA F ON V.CodVendedor = F.CodVendedor
WHERE F.MontoTotal >= 10000000

Analice el codigo y digame si le da los resultados esperados o tal vez el enunciado se refiera a la SUMA total de TODAS LAS FACTURAS, en todo caso, habria que sumar el MontoTotal

1
2
3
4
5
6
7
SELECT CodVendedor
, NombreVendedor
, SUM(F.MontoTotal) as MontoTotal
FROM VENDEDOR V INNER JOIN FACTURA F ON V.CodVendedor = F.CodVendedor
GROUP BY CodVendedor
, NombreVendedor
HAVING SUM(F.MontoTotal) >= 10000000
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
Val: 14
Ha aumentado su posición en 3 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

SubConsultas SQL SERVER

Publicado por Osvaldo (13 intervenciones) el 21/04/2021 22:16:38
Si, me da el resultado esperado. 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