PHP - Consulta Multitabla

   
Vista:
Imágen de perfil de Claudio Gonzalez

Consulta Multitabla

Publicado por Claudio Gonzalez claudio.gonzalez@gmail.com (65 intervenciones) el 08/03/2012 14:54:29
Hola que tal.

Por favor me pueden ayudar con un query multitabla,

Mi problema es que el resultado de la consulta me entrega los datos 2 veces los mismos registros, he cambiado los LEFT JOIN de una y otra forma, a veces me muestra varias veces los mismos registros, y en otras no muestra nada, lo mas cerca es el código que dejo a continuación que muestra 2 veces cada registro.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public function ver_Hosting_usu($rut)
                {
                        $sql=" SELECT
                                serclie.cod_servicio,/*0*/
                                serclie.rut_empresa,/*1*/
                                UNIX_TIMESTAMP(serclie.fecha_inicio) AS fecha_inicio,/*2*/
                                UNIX_TIMESTAMP(serclie.vencimiento) AS vencimiento,/*3*/
                                serclie.nombre_dominio,/*4*/
                                serclie.estado,/*5*/
                                clie.empresa,/*6*/
                                clie.rut_empresa,/*7*/
                                clie.usuario,/*8*/
                                UNIX_TIMESTAMP(clie.fecha_contrata) AS fecha_contrata,/*9*/
                                serv.cod_servicio,/*10*/
                                serv.servicio,/*11*/
                                serv.cod_categoria,/*12*/
                                host.id,/*13*/
                                host.cod_hosting,/*14*/
                                host.valor,/*15*/
                                pago.rut_empresa,/*16*/
                                pago.monto/*17*/

                                FROM spc_servicio_cliente serclie
                                LEFT JOIN spc_clientes clie ON serclie.rut_empresa = clie.rut_empresa
                                LEFT JOIN spc_servicios serv ON serclie.cod_servicio = serv.cod_servicio
                                LEFT JOIN spc_datos_hosting host ON serclie.cod_servicio = host.cod_hosting
                                LEFT JOIN spc_datos_pagos pago ON serclie.estado = pago.estado
                                WHERE serclie.rut_empresa = '$rut'
                                AND serv.cod_categoria = '0101'
                                ";
 
                                $res=mysql_query($sql,Conectar::con());
                                while ($reg=mysql_fetch_assoc($res))
                                {
                                        $this->datos[]=$reg;
                                }
                                        return $this->datos;
                }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Consulta Multitabla

Publicado por Giovanny (12 intervenciones) el 13/03/2012 17:16:12
en la consulta tienes que hacer un agrupamiento segun los campos, en mysql tambien puedes utilizar la sentencia DISTINCT.

El Distinct y el group by, se utiliza para no mostrar registros iguales.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar