Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Foros Linux » Desarrollo » Programación


Nuevo tema Responder al tema
 [ 3 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Mar Feb 27, 2007 12:00 am
Mensajes: 279
Ubicación: PANAMA

Nota Publicado: Vie Feb 25, 2011 12:57 pm 
Arriba  
Hola que tal compañeros,

la presente es para solicitar ayuda sobre una consulta, que no se si sea posible, les cuentos...

tengo tres tablas en una base de datos mysql, tabla 1 (tabla principal) tabla 1-2 (tabla que sirve de union entre la 1 y la 2) y tabla 2 (tabla secundaria)

el punto es que necesito jalar TODOS los datos de la tabla 1 y si hay datos en la tabla 2 que esten relacionado, tambien jalarlos.

pero al momento de hacer mi consulta para poder relacionar las dos tablas uso un JOIN pero al momento de hacer eso, solo me jala los datos relacionados (tabla 1-2)

y los datos de la tabla 1 no me los jala todos, bueno los que no tiene relacion con la tabla 2.

Les pongo la consulta que tengo hecha:

Código:
   $query_1 = "SELECT
         a.Name,
         ifc.nro_factura_c,
         ifc.fecha_factura_c,
         ifc.total_c,
         ifc.moneda_factura_c,
         ic.name,
         ic.amount,
         icc.moneda_c
      FROM
         infor_cobranza ic,
         accounts a,
         infor_facturacion_cstm ifc
            RIGHT OUTER JOIN infor_factufor_cobranza_c ifcc
            ON ifcc.infor_factcf57uracion_ida = ifc.id_c
            RIGHT OUTER JOIN infor_cobranza_cstm icc
            ON ifcc.infor_factc913obranza_idb = icc.id_c
            AND ifcc.deleted = 0
      WHERE
         a.id = ifc.account_id_c
         AND a.id = icc.account_id_c
         AND ic.id = icc.id_c
         AND ifc.fecha_factura_c between '$desde' and '$hasta' ORDER BY a.Name, ifc.nro_factura_c";


Si alguien tiene una dia se lo voy agradecer.

Saludos.

_________________
http://greer.nodolinux.com


Última edición por greer el Mar Mar 01, 2011 1:02 pm, editado 1 vez en total
 Perfil WWW  

Desconectado
Moderador
Moderador
Avatar de Usuario

Registrado: Mié Abr 18, 2007 11:00 pm
Mensajes: 1209
Ubicación: Cojutepeque, El Salvador C. A.

Nota Publicado: Vie Feb 25, 2011 11:36 pm 
Arriba  
O_o hum.... que pasaría si en vez de ser right outer join intentas con left aouter join?

Código:
            ..........
            LEFT OUTER JOIN infor_factufor_cobranza_c ifcc
            ON ifcc.infor_factcf57uracion_ida = ifc.id_c
            LEFT OUTER JOIN infor_cobranza_cstm icc
            ON ifcc.infor_factc913obranza_idb = icc.id_c
            AND ifcc.deleted = 0
            ..........


no sé, se me ocurre, hay que probar, puesto que no es lo mismo en este caso right contra left.

Saludetes :D

_________________
Grüße...
Maiku

Full linux alchemist!!!

 Perfil WWW  

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Mar Feb 27, 2007 12:00 am
Mensajes: 279
Ubicación: PANAMA

Nota Publicado: Lun Feb 28, 2011 10:51 pm 
Arriba  
Hola que tal ?

maiku grqacias por responder! te lo agradesco,

...te cuento busque en google, lei un unos cuantos manulaes de MySQL y di con mi problema. tenia que hacer una Sub-consulta
aca dejo como quedo:

Código:
   $query = "SELECT
         sub.Name,
         sub.nro_factura_c,
         sub.fecha_factura_c,
         sub.total_c,
         sub.moneda_factura_c,
         sub.numero_recibo,
         sub.amount,
         sub.moneda_recibo
      FROM (
         SELECT
            a.Name,
            ifc.nro_factura_c,
            ifc.fecha_factura_c,
            ifc.total_c,
            ifc.moneda_factura_c,
            ic.name AS numero_recibo,
            ic.amount,
            icc.moneda_c AS moneda_recibo
         FROM
            infor_cobranza ic,
            accounts a,
            infor_facturacion_cstm ifc
               RIGHT OUTER JOIN infor_factufor_cobranza_c ifcc
               ON ifcc.infor_factcf57uracion_ida = ifc.id_c
               LEFT OUTER JOIN infor_cobranza_cstm icc
               ON ifcc.infor_factc913obranza_idb = icc.id_c
               AND ifcc.deleted = 0
         WHERE
            a.id = ifc.account_id_c
            AND a.id = icc.account_id_c
            AND ic.id = icc.id_c
            AND ifc.fecha_factura_c between '$desde' and '$hasta'
      UNION
         SELECT
            a.Name,
            ifc.nro_factura_c,
            ifc.fecha_factura_c,
            ifc.total_c,
            ifc.moneda_factura_c,
            ifc.cliente_fac_copia_c,
            ifc.consumofinal_c,
            ifc.rut_c
         FROM
            accounts a,
            infor_facturacion_cstm ifc
         WHERE
            a.id = ifc.account_id_c
            AND ifc.fecha_factura_c between '$desde' and '$hasta'

      ) AS sub GROUP BY sub.nro_factura_c";


Saludos.

_________________
http://greer.nodolinux.com

 Perfil WWW  
Mostrar mensajes previos:  Ordenar por  
 [ 3 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC - 6 horas
Traducción al español por Huan Manwë
phpBB SEO