Ver Mensaje Individual
  #6 (permalink)  
Antiguo 01/12/2010, 13:25
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: consultas complejas

Buenas tardes holanarutouzumaki:

Vamos por partes:

Cita:
Iniciado por holanarutouzumaki Ver Mensaje
listar la venta mas grande que tuvo la empresa, de dicha venta se nesecita saber la fecha, formapago, nombrevendedor, nombre y num de sucursal, monto venta y cuantas casa se vendieron.

select max(MontoVenta),
FchVenta,FinanciaVenta,NombrePer,NombreSuc,IdSuc,U nidades
from venta v, sucursal s, detalleventa dv
where ((v.IdCli in (select NombrePer from persona where IdPer=v.IdCliente)) and
(v.IdSuc in(select IdSuc,NombreSuc from sucursal where IdSuc=v.IdSuc)) and
(select unidades from detalleventa where IdVenta=v.IdVenta))

pero no me funciona al igual que otra que intente hacer.
gracia por tu respuesta.
Hay varios detalles que hay que corregir en tu consulta,

primero, para hacer la unión entre dos tablas utiliza la cláusula JOIN, en lugar de subconsultas o de hacer las uniones de manera explícita en la sección where. Puedes preguntarle a Santa Wikipedia cómo es que trabajan los JOIN's si es que no conoces al respecto:

http://es.wikipedia.org/wiki/Join

Segundo, tengo dudas con respecto a tu tabla DetalleVentas creo que aquí almacenas el número de casas que intervinieron en la venta pero no muestras información acerca de esta tabla

Supongo que la relación entre ventas y detalleVentas es de uno a muchos, por lo tanto te conviene hacer una subconsulta con un count(*) para determinar cuántas casas se vendieron. sería algo más o menos así

Código MySQL:
Ver original
  1. Select v.id,
  2. (select count(*) from detalleVentas dv where v.id = dv.idVenta) as CasasVendidas
  3. ventas v

Trata de avanzar con tu consulta y si continuas con problemas nos comentas para tratar de ayudarte.

Saludos
Leo.