none
Falla Consulta SQL RRS feed

  • Pregunta

  • Hola buenos dias, tengo un problema con mi consulta, lo que pasa es que se relacionan varias tablas y cuando solo tenia un solo registro en esas tablas funcionaba bien, pero cuando agregue otro registro mas, me muestra los registros repetidos osea en lugar de que se vean dos, se ven 4, esta es mi consulta:

    select numero_parte as 'Parte Terminada', nombre_parte as 'Nombre', pe.numero as 'Parte Estampada',
    pe.nombre as 'Nombre', modelo as 'Modelo', proveedor as 'Proveedor', cliente as 'Cliente', 
    centro_trabajo as 'Centro De Trabajo', imagen as 'Imagen', proceso as 'Proceso', 
    nombre_proceso as 'Nombre Del Proceso', colchon as 'Colchon', linea as 'Linea', prensa as 'Prensa',
    linea_contin as 'Linea De Contingencia', almacen as 'Almacen', superior_fr AS 'FR', superior_lr AS 'LR', 
    inferior_fr AS '.FR', inferior_lr AS '.LR', altura AS 'ALTURA(H)', peso_superior AS 'SUPERIOR', 
    peso_total AS 'TOTAL', ran_vpr_lhfront_center AS 'LH/FRONT A CENTRO', 
    ran_vpr_ctro_rhpost AS 'CENTRO A RH/POST', ran_lwr_lhfront_center AS '.LH/FRONT A CENTRO', 
    ran_lwr_ctro_rhpost AS '.CENTRO A RH/POST', sal_mat_front AS 'FRONT', sal_mat_rear AS 'REAR', 
    sal_mat_rh AS 'RH', salida_scrap AS 'AUMNETO', num_troques AS 'NUMERO DE TROQUELES', dim_aumto_fr AS '´FR', 
    dim_aumto_lr AS '´LR', dim_aumto_h AS 'H', dim_aumto_peso AS 'PESO', ran_cpdo_a_vprlh AS 'UPR-LH',
    ran_cpdo_a_vprrh AS 'UPR-RH', ran_cpdo_a_lwrlh AS 'LWR-LH', ran_cpdo_a_lwrrh AS 'LWR-RH', dim_pca_fr AS '`FR', 
    dim_pca_lr AS '`LR', dim_pca_h AS '`H', dim_pca_peso AS '`PESO', ran_cpdo_p_vprlh AS 'UPR-LH', 
    ran_cpdo_p_vprrh AS '.UPR-RH', ran_cpdo_p_lwrlh AS '.LWR-LH', ran_cpdo_p_lwrrh AS '.LWR-RH',
    tonelaje_colchon as 'Tonelaje De Colchon', presion_colchon as 'Presion De Colchon', 
    tamano_perno as 'Tamaño Perno', stroke as 'Stroke', rpm as 'RPM', altura_trabajo as 'Altura De Trabajo',
    tonelaje_trabajo as 'Tonelaje De Trabajo', autom_in as 'Entrada', autom_out as 'Salida', 
    peso_balanza as 'Peso De Balanza', alt_niv_in as 'De Entrada', alt_niv_out as 'De Salida', 
    pilot_roll as 'Pilot Roll', ang_alim as 'Angulo Alimentacion', alineacion as 'Alineacion', 
    speed_se as 'Speed Setting', lib_on as 'ON', lib_off as 'OFF', avance as 'Avance', 
    ace_embu as 'Aceite De Embutido', frec_roci as 'Frecuencia De Rociado', 
    dim_barba as 'Dim. Cerrada de La Barba', carrera_alim as 'Carrera Del Alimentador', 
    carrera_ele as 'Carrera De Elevacion', carrera_sujeta as 'Carrera Del Sujetador', det_db1 as 'No 1',
    det_db2 as 'No 2', copas_succion as 'Copas De Succion', pokayoke as 'Pokayoke'
    from partes_terminadas pt, partes_estampadas pe, numero_parte np, proceso pro, linea li, troquel tro,
    condicion_operacion co
    where pe.id_partermi=pt.id AND np.id_part_estampa=pe.id AND pro.id_linea=li.id AND np.id_troq=tro.id 
    AND np.id_condicion_ope=co.id 


    Cristian Murillo

    miércoles, 28 de febrero de 2018 15:05

Respuestas

  • Hola JuanAurich23:

    A tenor de lo que presentas es imposible, saber donde esta la duplicidad, porque en una consulta tan extensa sin tener datos, no parece viable acertar.

    Pero lo puedes solucionar tu mismo.

    Te trae resultados duplicados, porque las relaciones, que estas definiendo en el where no estan del todo bien.

    Esto te resultará sencillo.

    quita

     numero_parte np, proceso pro, linea li, troquel tro,
    condicion_operacion co

    con un -- o /* */ para que quede comentado. Lo mismo en las condiciones de filtrado de esos campos, y en el llamamiento de los campos. (los campos que el intellisense te marque como desconocidos, cuando asterisques parte de la consulta).

    Y ejecutala.

    Según vayas viendo que te va bien, añades una tabla, más....

    Cuado tengas el punto de error, ya sabes que el campo que has dicho por ejemplo pro.id_linea = li.id de un lado de la relación es uno, pero del otro son varios....

    Saludos

    miércoles, 28 de febrero de 2018 16:38