Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con Inner Join

Estas en el tema de Problema con Inner Join en el foro de Java en Foros del Web. Estimados, les quiero pedir ayuda: tengo 2 tablas, producto y detalle_producto, en producto está el código y en detalle_producto el numero de factura asociada a ...
  #1 (permalink)  
Antiguo 05/07/2013, 10:19
 
Fecha de Ingreso: febrero-2007
Mensajes: 26
Antigüedad: 17 años, 2 meses
Puntos: 0
Problema con Inner Join

Estimados, les quiero pedir ayuda: tengo 2 tablas, producto y detalle_producto, en producto está el código y en detalle_producto el numero de factura asociada a ese código, hice una consulta SQL para vincular estas 2 tablas pero el resultado solo me muestra la coincidencia del último registro de la tabla detalle_producto, si consulto por otro código me indica que no existe siendo código tiene una factura asociada. Espero que se entienda, estoy ocupando Mysql, gracias.
Código PHP:
sSQL "SELECT P.*, D.* FROM producto P INNER JOIN detalle_ingreso D ON P.codigo = D.codigo";
        try 
        {
            
Statement st cn.createStatement();
            
ResultSet rs st.executeQuery(sSQL);
            
            while(
rs.next())
            {                    
                
            
cod rs.getString("codigo");
            
fac rs.getString("FacturaProv");
            
descr rs.getString("descripcion");
            
mod rs.getString("modelo");
            
mar rs.getString("marca");
            
fam rs.getString("familia");
            
stk rs.getString("stock");
            
prec rs.getString("precio");
            
            }                  
        } 
        catch (
SQLException ex
        {
           
JOptionPane.showMessageDialog(nullex);
        } 
también he probado de esta forma, investigando por internet, adapte este código pero sigo con el mismo problema.
Código PHP:
sSQL "SELECT P.*, D.* FROM producto P INNER JOIN detalle_ingreso D ON P.codigo = D.codigo";
        try 
        {
            
Statement st cn.createStatement();
            
boolean results st.execute(sSQL);
            
//ResultSet rs = st.executeQuery(sSQL);
            
int rsCount 0;
            do {
               if(
results) {
                 
ResultSet rs st.getResultSet();
                 
rsCount++;
            while(
rs.next())
            {                    
                
            
cod rs.getString("codigo");
            
fac rs.getString("FacturaProv");
            
descr rs.getString("descripcion");
            
mod rs.getString("modelo");
            
mar rs.getString("marca");
            
fam rs.getString("familia");
            
stk rs.getString("stock");
            
prec rs.getString("precio");
            
            }
            
rs.close();
        }
       
// System.out.println();
        
results st.getMoreResults();
        } while(
results);
      
st.close();
      }
         
        catch (
SQLException ex
        {
           
JOptionPane.showMessageDialog(nullex);
        } 
  #2 (permalink)  
Antiguo 05/07/2013, 10:59
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Problema con Inner Join

1. Usa excecuteQuery.
2. ¿Que error te marca?
3. No estas haciendo uso de los datos que obtienes, como por ejemplo mostrarlos.
4. No sabemos el schema de tus tablas por lo que asumo que esta bien. Trata de ejecutar tu query en algún cliente de MySQL para ver que datos te arroja.
5. Si nos dijeras como están compuestas tus tablas, los campos, los tipos, donde esta la pk y las fk, etc... te podríamos decir si error es tu query o el código en Java.
  #3 (permalink)  
Antiguo 09/07/2013, 21:50
 
Fecha de Ingreso: febrero-2007
Mensajes: 26
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Problema con Inner Join

Cita:
Iniciado por razpeitia Ver Mensaje
1. Usa excecuteQuery.
2. ¿Que error te marca?
3. No estas haciendo uso de los datos que obtienes, como por ejemplo mostrarlos.
4. No sabemos el schema de tus tablas por lo que asumo que esta bien. Trata de ejecutar tu query en algún cliente de MySQL para ver que datos te arroja.
5. Si nos dijeras como están compuestas tus tablas, los campos, los tipos, donde esta la pk y las fk, etc... te podríamos decir si error es tu query o el código en Java.
gracias razpeitia
1. si te fijas en el primer codigo que puse ocupe excecuteQuery
2. no me arroja error
3. el uso que le estoy dando es mostrarlos, por ejemplo si ingreso el codigo 19 me debe mostrar el numero de factura asociado a ese codigo y los campos de la tabla producto, pero solo funciona al ingresar el codigo 1216
al ejecutar el sql me muetra la info
Código PHP:
Servidorlocalhost
Base de datos
sistema_ventas
Tiempo de generación
10-07-2013 a las 00:39:50
Generado por
phpMyAdmin 2.10.3 MySQL 5.0.51b-community-nt-log
consulta SQL
SELECT P. * , D. * FROM producto P INNER JOIN detalle_ingreso D ON P.codigo D.codigo LIMIT 030 
Filas2

codigo descripcion modelo marca familia    stock precio FacturaProv    codigo    Series
19        pruebas    a          b         c      7     2222    11111    19            10
1216   cable usb    afdf    dfdf    erere    48     8000    3333    1216     2 
esta es la estructura de las tablas... espero que se entienda, en resumen cuando consulto por el codigo 1216 muestra bien, pero por el codigp 19... nada gracias

PRODUCTO
codigo int(10------------------------->PK
descripcion varchar(70)
modelo varchar(70)
marca varchar(50)
familia varchar(50)
stock int(6)
precio int(15)


DETALLE_INGRESO
FacturaProv int(20)-----------------------INDEX
codigo int(10)
Series varchar(255)

Etiquetas: join
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 10:51.