Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Consulta Mysql en PHP: resta entre datos de querys

Estas en el tema de Consulta Mysql en PHP: resta entre datos de querys en el foro de Bases de Datos General en Foros del Web. Hola a todos, necesito un poco de ayuda con una consulta que intento realizar en php atacando a una base de datos de Mysql. He ...
  #1 (permalink)  
Antiguo 22/07/2010, 10:29
 
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 15 años, 3 meses
Puntos: 0
Consulta Mysql en PHP: resta entre datos de querys

Hola a todos, necesito un poco de ayuda con una consulta que intento realizar en php atacando a una base de datos de Mysql. He configurado dos querys como estas:


query4="SELECT * FROM `inventari` WHERE `con_id`=603 and `nompv`='SCAIX'"; // saca los totales de la tabla inventari

$query5="SELECT * FROM `ventesacum` WHERE con_id=603 and nom_pv='SCAIX'";// saca lo totales de la tabla ventesacum

Obtengo los resultados de cada una por separado, pero el problema está en que necesito restar los resultados de query4 con los de query5 para poder obtener la diferencia.

Muchas gracias de antemano por vuestra ayuda!


Oscar
  #2 (permalink)  
Antiguo 22/07/2010, 11:18
 
Fecha de Ingreso: noviembre-2009
Mensajes: 21
Antigüedad: 15 años
Puntos: 1
Respuesta: Consulta Mysql en PHP: resta entre datos de querys

primero que todo tiene que verificar que los querys arrojen solo valores enteros, luego de esto se convierte el $query... en entero.

o puede ser que haga un query anidado que reste los dos valoresconsultas ejemplo:
Cita:
Select (i.valor-v.valor) from inventari i, ventesacum v where i.con_id=v.con_id and i.nom_pv= v.nom_pv
o acomoda el query segun convenga,

espero le sirva,
  #3 (permalink)  
Antiguo 22/07/2010, 11:23
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Consulta Mysql en PHP: resta entre datos de querys

Se puede combinar ambas en una sola:
Código MySQL:
Ver original
  1. SELECT V.*
  2. FROM `ventesacum` V LEFT JOIN `inventari`  I ON V.con_id = I.con_id AND V.nom_pv = I.nom_pv
  3. WHERE (V.con_id=603 AND V.nom_pv='SCAIX') AND I.con_id IS NULL
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 23/07/2010, 04:22
 
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Consulta Mysql en PHP: resta entre datos de querys

Cita:
Iniciado por cristianp87 Ver Mensaje
primero que todo tiene que verificar que los querys arrojen solo valores enteros, luego de esto se convierte el $query... en entero.

o puede ser que haga un query anidado que reste los dos valoresconsultas ejemplo:


o acomoda el query segun convenga,

espero le sirva,

Hola, como no entiendo muy bien tu respuesta te pego todo el código que utilizo a ver si así puedo ayudarte y entenderlo todo mejor:


<?

include("includes/connexiodb.php");

$link= Conectarse();

$query3="SELECT * FROM preus WHERE con_id =603";// SACA LOS TIPOS DE PRECIOS POR con_id

$result3 = mysql_query($query3,$link) or die (mysql_error());

while($row3=mysql_fetch_array($result3)){

echo "id concert = ".$row3[0];

echo "<br>";

for($i=1;$i<=40;$i++){

if(($row3[$i])!=0){

echo "preu = ".$row3[$i];

echo "<br>";

//echo "desripcio = ".$row3[$i+1];

echo "<br>";

}

}

}
$link= Conectarse();
$query4="SELECT * FROM `inventari` WHERE `con_id`=603 and `nompv`='Servicaixa-Barcelona'";// (SACA EL TOTAL DE ENTRADAS ASIGNADAS AL INVENTARI DE UN con_id Y nompv CONCRETO)
$result4 = mysql_query($query4,$link) or die (mysql_error());
while($row4=mysql_fetch_array($result4)){
echo "Concierto = ".$row4[1];
echo "<br>";
echo "Punto de Venta = ".$row4[3];

echo "<br>";

for($i=2;$i<=40;$i++){

if(($row4[$i])!=0){

echo "Entradas Asignadas = ".$row4[$i+2];

echo "<br>";

;

echo "<br>";
}

}

}
$link= Conectarse();
$query5="SELECT * FROM `ventesacum` WHERE con_id=603 and nom_pv='Servicaixa-Barcelona'";// SACA EL TOTAL DE ENTRADAS acumuladas POR con_id Y nom_pv)
$result5 = mysql_query($query5,$link) or die (mysql_error());
while($row5=mysql_fetch_array($result5)){

echo "Concierto = ".$row5[1];
echo "<br>";
echo "Punto de Venta = ".$row5[3];

echo "<br>";

for($i=3;$i<=40;$i++){

if(($row5[$i])!=0){

echo "Entradas Asignadas = ".$row5[$i];

echo "<br>";

;

echo "<br>";
}

}

}
?>

gracias por la ayuda!

Etiquetas: mysql, php, querys
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 23:24.