Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-02-2007
pdcd pdcd is offline
Registrado
 
Registrado: feb 2007
Posts: 3
Poder: 0
pdcd Va por buen camino
sumar el total de dos tablas

Hola!
PHP/MYSQL
Quiero mostrar el total de fotos de cada cliente (la información esta en dos tablas) tengo la siguiente consulta

$sql = "SELECT count(*) as cant_fotos, mes FROM fotosjuan, fotospedro WHERE cliente='$dato1' and año='$dato2' GROUP BY mes";

El tema es que en este momento la tabla fotosjuan tiene 30 clientes y la tabla fotospedro solo 10 (estos 10 están también en la otra tabla).
Y que pasaría si hubiera clientes diferentes.

Me da el mensaje
Column 'cliente' in field list is ambiguous.

Cómo podría solucionarlo?, si alguien me pudiera dar una idea, se agradece.
Responder Con Cita
  #2  
Antiguo 05-02-2007
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 22
kayetano Va por buen camino
Hola

La consulta que estas realizando no es correcta.
Si lo que quieres hacer es sumar el total de dos tablas lo que debes hacer es obtener el total de una y despues el total de la otra y sumarlos resultados.

Estoy intentando buscarle sentido a la consulta que has puesto y la verdad es que no se lo encuentro:
1. Realizas una concatenación de dos tablas todas con todas es decir 30x10.
2. Condicionas la consulta a dos campos que por lo visto se repiten en las dos tablas (de aquí el error).
3. Utilizas un campo llamado "cliente", que pienso que será la clave ajena a la tabla clientes, pero veo también que utilizas una tabla para cada cliente, ¿que sentido tiene esto?
4. Y al final para redondear la jugada lo agrupas todo por mes, ¿quieres obtener el total de las fotos o el total por meses?

Supongo que en el caso de que esta consulta tuviera algún sentido debería ser algo asin:
Código PHP:
$sql "SELECT count(*) as cant_fotos, mes FROM fotosjuan fj, fotospedro fp WHERE fj.cliente='$dato1' and fj.año='$dato2' AND fp.cliente='$dato3' and fp.año='$dato4' GROUP BY mes"
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
  #3  
Antiguo 05-02-2007
pdcd pdcd is offline
Registrado
 
Registrado: feb 2007
Posts: 3
Poder: 0
pdcd Va por buen camino
A ver.
Primero que todo gracias por la respuesta.
Te cuento
- originalmente tenía la tabla fotosjuan con id, cliente, año, día, mes, título, etc.
- luego se agregó la tabla fotospedro que tiene los mismos campos.

Hay dos fotografos que realizan fotos para (hasta el momento) los mismos clientes

En este momento yo obtengo de cada tabla (con la consulta que adjunté o variaciones) la cantidad total de fotos y lo muestro por ejemplo, por mes (ordenados por cliente) o por año (ordenados por cliente) o por cliente (ordenados por mes).

Lo que quiero es obtener el total de fotos (las que tomo juan y las que tomo pedro) para un determinado cliente o mes o año.

Espero que se entienda mejor, a ver si me puedes ayudar.
Responder Con Cita
  #4  
Antiguo 06-02-2007
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 22
kayetano Va por buen camino
Hola

Perfecto, lo que debes de hacer es crear una única tabla de fotos muy parecida a la que tienes pero añadiendo el id_fotografo que será clave ajena de otra tabla llamada fotógrafos, es decir:
fotos (id, id_fotografo, cliente, año, día, mes, título, ...)
fotografos ( id, nombre, dirección, telefono, ... )
ahora si que puedes hacer facilmente las consultas que comentas:
- Esta primera para obtener las fotos de un cliente en cada mes del año.
Código PHP:
$sql "SELECT count(*) as cant_fotos, mes FROM fotos WHERE cliente='$dato1' and año='$dato2' GROUP BY mes"
- y esta segunda para obtener las fotos realizadas por cada fotografo a cada cliente cada mes.
Código PHP:
$sql "SELECT count(*) as cant_fotos, mes FROM fotos GROUP BY id_fotografo, cliente, mes"
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
  #5  
Antiguo 06-02-2007
pdcd pdcd is offline
Registrado
 
Registrado: feb 2007
Posts: 3
Poder: 0
pdcd Va por buen camino
Gracias kayetano.
Manos a la obra, y a ver como me resulta.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Borrado total de Registros en tablas DBF Roilo Tablas planas 5 17-07-2006 17:01:17
Sumar Campos de Distintas Tablas Obteniendo Subtotales... sumarlos y obtener un TOTAL NaZi_DjInN SQL 1 20-10-2004 06:30:45
Sumar un campo en dos tablas Ignacio SQL 2 27-09-2004 01:00:38
Total en blanco alcides SQL 5 06-08-2004 15:43:10
Sumar los campos de 3 tablas luisreg SQL 2 28-01-2004 02:34:41


La franja horaria es GMT +2. Ahora son las 11:29:49.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi