Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/05/2012, 03:03
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Consulta a varias tablas

Cita:
tengo que realizar una consulta para mostrar lo siguiente:

Empresa | SubTotal
Pepito | 460
Pedrito | 208
Total | 668
La consulta retorna empresa y suma no puedes pedir otros campos.

Cita:
$grupo = $registro['grupo'];
$nombre = $registro['nombre'];
$empresa= $registro['empresa'];
$duracion= $registro['duracion'];
$valor_empresa= $registro['valor_empresa'];
$id_grupo= $registro['id_grupo'];


Código MySQL:
Ver original
  1. SELECT e.empresa,
  2. //Nombre de la empresa
  3.             SUM(h.fee_empresa * h.duracion)
  4. //Suma de h.fee_empresa por h.duracion
  5. //Lista de campos
  6. FROM (e.empresas
  7.               INNER JOIN
  8.                       grupos g
  9.                         ON e.empresa=g.empresa)
  10.               INNER JOIN horas h
  11.                         ON g.id=h.id_grupo
  12. //Relaciona las distintas tablas para obtener un registro con los datos requeridos
  13. GROUP BY e.empresas;
  14. //Agrupa por empresa, las sumas se hacen en función del campo


Código PHP:
Ver original
  1. $sql = mysql_query("SELECT e.empresa," .
  2.                                 "SUM(h.valor_empresa * h.duracion) AS suma " .
  3.                                  "FROM (empresas e INNER JOIN grupos g " .
  4.                                              "ON e.empresa=g.empresa) ".
  5.                                           "INNER JOIN horas h ON g.id=h.id_grupo " .
  6.                                   "GROUP BY e.empresas");

FROM (empresas e no FROM (e.empresas (error mio)
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.