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

ayuda con consulta multiple

Estas en el tema de ayuda con consulta multiple en el foro de Mysql en Foros del Web. hola, alguien me podria ayudar con esta consulta? tengo las siguientes tablas [consumidor_final] id_reg fecha total tienda [credito_fiscal] id_reg fecha total tienda [anulados] id_reg type ...
  #1 (permalink)  
Antiguo 28/12/2010, 17:36
 
Fecha de Ingreso: junio-2006
Mensajes: 8
Antigüedad: 17 años, 9 meses
Puntos: 0
Pregunta ayuda con consulta multiple

hola, alguien me podria ayudar con esta consulta?

tengo las siguientes tablas

[consumidor_final]
id_reg
fecha
total
tienda

[credito_fiscal]
id_reg
fecha
total
tienda

[anulados]
id_reg
type

esta tabla me registra en type "Consumidor Final" y "Credito Fiscal" y el id_reg correspondiente

tengo esta consulta:
$consult=mysql_query("SELECT tienda, SUM(total) as day FROM (SELECT f.tienda, f.total FROM consumidor_final f WHERE f.fecha='$na_fecha' UNION ALL SELECT c.tienda, c.total FROM credito_fiscal c WHERE c.fecha='$na_fecha') B GROUP BY tienda ORDER BY day DESC");

esta consulta me hace una suma total de (consumidor final + credito fiscal) agrupandolo por tiendas
cuando ago una anulacion de factura no los borro para dejar reporte, solo los coloco en la tabla "anulados" y ahi el problema esta consulta me suma tambien los anulados.

lo que necesito hacer es que compruebe si dicha factura se encuentra registrada en la tabla anulados y que la ignore

he intentado hacer un full outer join con id_reg pero no todos los id_reg estan en anulados y no me muestra resultados

alguien podria echarme una mano?
  #2 (permalink)  
Antiguo 29/12/2010, 06:31
Avatar de Snaft_J1  
Fecha de Ingreso: diciembre-2006
Mensajes: 285
Antigüedad: 17 años, 4 meses
Puntos: 8
Respuesta: ayuda con consulta multiple

ah, ah, nada de eso, con un LEFT JOIN deberia trabajarte muy bien.


Saludos.
__________________
-= El conocimiento y el saber te hacen un ser libre =-
Ando en busca de conocimiento....
  #3 (permalink)  
Antiguo 29/12/2010, 09:23
 
Fecha de Ingreso: junio-2006
Mensajes: 8
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: ayuda con consulta multiple

ya probe con LEFT JOIN y no me funciona =S
xq el punto de union es el id_reg
al contrario yo kiero k el resultado me muestre los k no aparecen en la tabla anulados

se soluciona facil con un IS NULL pero que pasa si el resultado no es null
tengo k saber si el id_reg pertenece a un "Consumidor Final" o un "Credito Fiscal"

al parecer es algo complicado

alguien me da una manita?

Última edición por howardRRR; 29/12/2010 a las 09:47
  #4 (permalink)  
Antiguo 29/12/2010, 10:39
Avatar de Snaft_J1  
Fecha de Ingreso: diciembre-2006
Mensajes: 285
Antigüedad: 17 años, 4 meses
Puntos: 8
Respuesta: ayuda con consulta multiple

Al parecer no comprendo bien, pero pruebate esto en tu gestor de consultas Sql y valida si efectivamente no los excluye con el Left Join.
Código MySQL:
Ver original
  1. Select C.Tienda, Sum( C.Total )
  2. From consumidor_final C Left Join anulados A
  3.      On ( C.id_reg = A.id_reg )
  4. Where ( A.Id_reg Is Null )  And
  5.       ( C.Fecha = 'FECHA_PRUEBA' )
  6.  
  7.  
  8. Select C.Tienda, C.Total
  9. From credito_fiscal C Left Join anulados A
  10.      On ( C.id_reg = A.id_reg )
  11. Where ( A.Id_reg Is Null )  And
  12.       ( C.Fecha = 'FECHA_PRUEBA' )
  13. Group By Tienda
  14. Order By C.Total Desc

Saludos, espero si te funcione o entenderte mejor je je je...
__________________
-= El conocimiento y el saber te hacen un ser libre =-
Ando en busca de conocimiento....

Etiquetas: Ninguno
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 16:58.