Foros del Web » Programando para Internet » PHP »

Ayuda con este sql

Estas en el tema de Ayuda con este sql en el foro de PHP en Foros del Web. Tengo el siguiente dilema: El siguiente sql me permite selecionar los datos que cumplan la condicion SQL1 Código PHP: $sql1  = ( "select f.idfact, f.nit, f.fechafact, f.fechadesp, d.idfact, d.estilo, d.servicio, d.cantidad, d.vrtotal, d.idetallefact,                         b.nit, b.descripbenef, l.estilo, l.vrmo, l.vrmat, l.vrhilos, l.vrcorte, l.vrmolde, l.vrservadic                 FROM factura f, beneficiario b, detallefactura d, lprecios l                 where f.idfact = d.idfact && f.nit = b.nit && d.estilo = l.estilo && f.fechafact between '$fechaini' and '$fechafin'  ...
  #1 (permalink)  
Antiguo 11/01/2007, 10:10
Avatar de Superlinux  
Fecha de Ingreso: octubre-2005
Ubicación: Colombia
Mensajes: 662
Antigüedad: 18 años, 6 meses
Puntos: 1
Pregunta Ayuda con este sql

Tengo el siguiente dilema:

El siguiente sql me permite selecionar los datos que cumplan la condicion

SQL1
Código PHP:
$sql1 = ("select f.idfact, f.nit, f.fechafact, f.fechadesp, d.idfact, d.estilo, d.servicio, d.cantidad, d.vrtotal, d.idetallefact,  
                      b.nit, b.descripbenef, l.estilo, l.vrmo, l.vrmat, l.vrhilos, l.vrcorte, l.vrmolde, l.vrservadic 
               FROM factura f, beneficiario b, detallefactura d, lprecios l 
               where f.idfact = d.idfact && f.nit = b.nit && d.estilo = l.estilo && f.fechafact between '$fechaini' and '$fechafin' 
               order by f.idfact"
); 
     
$respu1 mysql_query($sql1);  
     
$res1 mysql_num_rows($respu1); 
Este otro me suma y totaliza todos los datos encontrados ...

SQL2
Código PHP:
sql2 mysql_query("select sum(vrtotal) total 
                          from detallefactura d, factura f 
                          where d.idfact = f.idfact"
);          
      
$respu2 mysql_fetch_array($sql2); // Se conecta a la BD y ejecuta el Select 
Ahora bien busco necesito que el SQL1 me permita no solo selecionar los datos que me cumplan el requerimiento sino tambien a su vez me vaya sumando por item.

Debe ser con un sub select (Select dentro de otro select). Pero la verdad tengo algunas dudas.

Gracias por la colaboracion ....
__________________
"La vida sigue su curso, tú toma parte de ella."
  #2 (permalink)  
Antiguo 11/01/2007, 12:24
 
Fecha de Ingreso: agosto-2003
Ubicación: talcahuano
Mensajes: 39
Antigüedad: 20 años, 8 meses
Puntos: 0
Re: Ayuda con este sql

debes agrupar nada mas
segun mi opinion

select item, sum(precio*cantidad) as total
from detallefactura d, factura f
where d.idfact = f.idfact
GROUP BY item

eso se me ocurre si me contaras que campos quieres realmente sumar t podria ayudar un pokitin mas
  #3 (permalink)  
Antiguo 11/01/2007, 13:56
Avatar de Superlinux  
Fecha de Ingreso: octubre-2005
Ubicación: Colombia
Mensajes: 662
Antigüedad: 18 años, 6 meses
Puntos: 1
Re: Ayuda con este sql

Voy aprobar y te cuento .... gracias
__________________
"La vida sigue su curso, tú toma parte de ella."
  #4 (permalink)  
Antiguo 12/01/2007, 09:51
Avatar de Superlinux  
Fecha de Ingreso: octubre-2005
Ubicación: Colombia
Mensajes: 662
Antigüedad: 18 años, 6 meses
Puntos: 1
Pregunta Re: Ayuda con este sql

.... gran inquietud buscando alternativas ... se me presento gran error .

este es un sql funcionando
Código PHP:
 $sql2 mysql_query("select sum(vrtotal) total
                          from detallefactura d, factura f
                          where d.idfact = f.idfact"
);         
      
$respu2 mysql_fetch_array($sql2); // Se conecta a la BD y ejecuta el Select 
pero cuando agrego algo como esto me genera el siguiente error

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\SERVIDOR\WEB\SIGDOC\PUBLIC\BuscarFactura.php on line 78

Que estoy haciendo mal ...

Gracias por la ayuda ...
__________________
"La vida sigue su curso, tú toma parte de ella."
  #5 (permalink)  
Antiguo 12/01/2007, 09:54
Avatar de Superlinux  
Fecha de Ingreso: octubre-2005
Ubicación: Colombia
Mensajes: 662
Antigüedad: 18 años, 6 meses
Puntos: 1
Re: Ayuda con este sql

... jeje perdon .. aqui se presenta el error ....


Código PHP:

$sql2 
mysql_query("select f.idfact, sum(vrtotal) total 
                          from detallefactura d, factura f 
                          where d.idfact = f.idfact"
);          
      
$respu2 mysql_fetch_array($sql2); // Se conecta a la BD y ejecuta el Select 
__________________
"La vida sigue su curso, tú toma parte de ella."
  #6 (permalink)  
Antiguo 12/01/2007, 09:55
 
Fecha de Ingreso: enero-2007
Mensajes: 272
Antigüedad: 17 años, 3 meses
Puntos: 5
Re: Ayuda con este sql

Hola:

Creo que al trar un solo valor, no puedes tirarlo con un array (creo...no estoy seguro), revisa la documentación y ve si existe un mysql_fetch_rows u algo así..

Suerte...
  #7 (permalink)  
Antiguo 12/01/2007, 09:56
 
Fecha de Ingreso: enero-2007
Mensajes: 272
Antigüedad: 17 años, 3 meses
Puntos: 5
Re: Ayuda con este sql

Cita:
Iniciado por Superlinux Ver Mensaje
... jeje perdon .. aqui se presenta el error ....


Código PHP:

$sql2 
mysql_query("select f.idfact, sum(vrtotal) total 
                          from detallefactura d, factura f 
                          where d.idfact = f.idfact"
);          
      
$respu2 mysql_fetch_array($sql2); // Se conecta a la BD y ejecuta el Select 
Entonces te falta un group by...
  #8 (permalink)  
Antiguo 12/01/2007, 11:21
Avatar de Superlinux  
Fecha de Ingreso: octubre-2005
Ubicación: Colombia
Mensajes: 662
Antigüedad: 18 años, 6 meses
Puntos: 1
Re: Ayuda con este sql

Gracias men .... muchas gracias ... enredado con algo tan simple ... bueno pero eso suele pasar ... jeje
__________________
"La vida sigue su curso, tú toma parte de ella."
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:31.