Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/02/2013, 11:26
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Obtener datos de dos tablas con condiciones distintas

Es exactamente lo que me temía. Es un defecto de diseño que se ha parchado de esa forma.
Los foliados a los que te refieres son lo mismo que se adminsitra cuando una misma empresa tiene sucursales donde también emiten facturas, y lo que se hace en ese caso es incluir un discriminador que indica en qué sucursal se facturó.
En Argentina, como ese tema está totalmente regulado por ley, es algo que se conoce y se soluciona desde el inicio, al punto que incluso debes diferenciar uno por uno los terminales de tickets que emiten cualquier comprobante, y si la empresa tiene también facturas manuales estas se clasifican como otro punto de venta... En ese sentido, desde el inicio se tiende a diseñar contemplando ese detalle. Es raro que se omita esa posibilidad.

En definitiva, lo que tienes es un error de diseño... que sería bueno evitar.

Yendo a la solución probable para tu caso y sin realizar cambios en la base, necesitaría que me aclares cuál es el listado que realmente debe conseguirse.
Si es evitar que los registros con ID solapado se eliminen entre si, y a la vez diferenciar de dónde provienen, la cosa podría andar por acá:
Código MySQL:
Ver original
  1.     'Factura GRAL' facturacion,
  2.     f.folio,
  3.     f.fecha,
  4.     f.status,
  5.     f.totalFactura,
  6.     a.nombreAsociado,
  7.     c.cliente
  8. FROM factura f
  9.     JOIN cliente c ON f.clienteID=c.clienteID
  10.     JOIN asociado a ON c.asociadoID=a.asociadoID
  11.     f.fecha BETWEEN '2013/01/01' AND '2013/02/01'
  12.     AND a.asociadoID IN (2, 3)
  13.     'Factura JL' facturacion,
  14.     f.folio,
  15.     f.fecha,
  16.     f.status_fact,
  17.     f.total,
  18.     a.nombreAsociado,
  19.     c.cliente
  20.     facturajoseluis f
  21.     JOIN cliente c ON f.clienteID=c.clienteID
  22.     JOIN asociado a ON c.asociadoID=a.asociadoID
  23.     f.fecha BETWEEN '2013/01/01' AND '2013/02/01'
  24.     AND a.asociadoID = 1
Si no es esto, danos un ejemplo más preciso de lo que hay que obtener.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)