Resultados 1 al 13 de 13

Tema: Consultar multiples tablas - Java Mysql

  1. #1
    Usuario Avatar de Nego
    Fecha de ingreso
    12 Jan, 07
    Mensajes
    198

    Consultar multiples tablas - Java Mysql

    Hola a todos,

    Estoy desarrollando una aplicacion todo bien hasta esto.

    Tengo 2 tablas: persona, ubicacion, la tabla persona tiene como campos(rut, nombre) y la tabla ubicacion(rut, direccion). Claramente el campo rut es la pk.

    Necesito hacer una consulta de una persona la cual muestre el rut, nombre y direccion.

    He leido que para esto hay que generar un SELECT con JOINS pero no entiendo como funciona. ¿Podrian explicarme como hacer el select para poder reunir la info de esas 2 tablas?

    De ante mano muchas gracias.

  2. #2
    Experimentado Avatar de djscorpion
    Fecha de ingreso
    30 Dec, 05
    Mensajes
    516

    Re: Consultar multiples tablas - Java Mysql

    select p.rut,p.nombre,u.rut,u.direccion from persona p ,ubicacion u
    where u.rut=p.rut;
    saludos

  3. #3
    Guru
    Avatar de Cosme
    Fecha de ingreso
    27 Feb, 05
    Ubicación
    Santiago
    Mensajes
    9,155

    Re: Consultar multiples tablas - Java Mysql

    hace mucho tiempo, en una galaxia lejana, mysql no soportaba consultas con joins (no se si seguira siendo asi)

    en el fondo, join es de "juntar" en ingles, y en sql se usa para indicar el tipo de union que tendran las tablas.

    inner join quiere decir que traera todos los registros coincidentes de ambas tablas
    left join traera todos los registros de la tabla a la izquierda, y los que coincidan a la derecha
    right join traera todos los registros de la tabla a la derecha, y los que coincidan a la izquierda

    no recuerdo si hay mas join, esos son los mas utilizados.

    Ejemplo. Tu tabla de ubicacion tiene muchos ruts por ubicacion, pero solo una persona con el rut.

    si quieres ver todas las ubicaciones, y la tabla de personas a la izquierda ,seria:

    select persona.nombre, persona.rut, ubicacion.direccion from persona
    right join direccion on persona.rut=ubicacion.rut



  4. #4
    Guru
    Avatar de Ribosoma
    Fecha de ingreso
    04 Jan, 06
    Ubicación
    Santiago, Chile
    Mensajes
    5,077

    Re: Consultar multiples tablas - Java Mysql

    Creo que si quieres hacer consultas sql, debieras estudiar un poco al respecto. En la red hay buenas fuentes de información. Pues el no saber hacer joins, implica que simplemente no sabes sql.

  5. #5
    Ingeniero con Distincion
    Avatar de noone
    Fecha de ingreso
    06 Oct, 05
    Ubicación
    inframundo a la izquierda del nirvana
    Mensajes
    536

    Re: Consultar multiples tablas - Java Mysql

    Cita Iniciado por Ribosoma Ver mensaje
    Creo que si quieres hacer consultas sql, debieras estudiar un poco al respecto. En la red hay buenas fuentes de información. Pues el no saber hacer joins, implica que simplemente no sabes sql.
    o bien que esta estudiando y quiere que le resuelvan el problema que le dejaron en clase XD

    por que la verdad alguien que ya ha programado algo por lo menos sabe que es un join, claro que como dijo cosme mysql hace tiempo atras no soportaba los join

    era dindo tratar de emular join en consultas a mysql ()

    segun lo utlimo que lei sobre mysql 5 (creo) este soportaria joins, procedimientos almacenados, vistas, etc ahora bien hace muuuuucho que no veo mysql y no se en que estara ahora


  6. #6
    omfgzorz!!11!one
    Avatar de dud1n
    Fecha de ingreso
    24 Apr, 06
    Mensajes
    1,611

    Re: Consultar multiples tablas - Java Mysql

    Cita Iniciado por djscorpion Ver mensaje
    select p.rut,p.nombre,u.rut,u.direccion from persona p ,ubicacion u
    where u.rut=p.rut;
    saludos
    Disculpa, pero que basura de respuesta, esa la aceptaría sólo si estás en primer semestre de la U.

    Cita Iniciado por Cosme Ver mensaje
    hace mucho tiempo, en una galaxia lejana, mysql no soportaba consultas con joins (no se si seguira siendo asi)
    Si soporta

    Hacer join es fácil, lee un poco al respecto y si no te resulta, postea tu duda.

    Saludos.
    F . U . C . K .
    Fornication Under Consent of the King


  7. #7
    Chuck Norris

    Overlord
    Avatar de Amenadiel
    Fecha de ingreso
    15 Jan, 04
    Ubicación
    Santiago de Chile
    Mensajes
    22,670

    Re: Consultar multiples tablas - Java Mysql

    Cita Iniciado por noone Ver mensaje
    segun lo utlimo que lei sobre mysql 5 (creo) este soportaria joins, procedimientos almacenados, vistas, etc ahora bien hace muuuuucho que no veo mysql y no se en que estara ahora
    Van en la 5.3 oficialmente, con betas funcionales de la 6 y sí, soporta toda clase de joins, procedimientos almacenados, funciones, vistas, triggers, eventos programados, etc. Incluso cosas que Oracle no soporta por estandar como el particionamiento (sólo viene en Oracle Enterprise).

    Creo que lo único que le falta a MySQL para ser 100% pro es soportar vistas materializadas.

    PD:

    Última edición por Amenadiel; 24/07/2009 a las 13:58
    _____________________
    And now that you've been broken down
    Got your head out of the clouds
    You're back down on the ground
    And you don't talk so loud
    And you don't walk so proud


  8. #8
    Usuario Avatar de desenfoque
    Fecha de ingreso
    12 Dec, 07
    Mensajes
    229

    Re: Consultar multiples tablas - Java Mysql

    Eso más que java es SQL...

    Bueno... MySQL 5.algo sí soporta JOIN. Así que úsalos sin problemas.

    Supongamos que tienes la tabla PERSONA que tiene esta forma:
    Código:
    table PERSONA
    -----------------
    rut int PK
    nombre varchar(50)
    ...
    otros campos A
    ------------------
    y tienes otra tabla llamada UBICACION
    Código:
    table UBICACION
    -------------------
    rut int
    direccion varchar(50)
    ...
    otros campos B
    -------------------
    EL asuntos es que quieres mostrar los datos una persona con los datos de su ubicación. Es decir quieres mostrar algo como esto:

    Código:
    RESULTADOS:
    rut - nombre - (otros campos A) - direccion - (otros campos B)
    Esto se puede hacer de 2 maneras.

    1) Usando JOINS. Que básicamente sería decir "unamos una tabla con otra". La sintaxis para las tablas de ejemplo sería algo parecido a esto.
    Código:
    SELECT P.*,
                U.*
    FROM PERSONA P
    INNER JOIN UBICACION U ON P.rut = U.rut;
    Esto traerá los TODOS registros de la tabla PERSONA (alias P) unidos a los de la tabla UBICACION (alias U), siempre que el campo rut de la tabla P sea igual al campo rut de la tabla U.

    2) Usando SELECT. Que es la misma idea, pero con otras características.
    Código:
    SELECT P.*,
                U.*
    FROM PERSONA P, UBICACION U 
    WHERE P.rut = U.rut;
    ¿Qué pasa si no le ponemos la sentencia ON (en el primer caso) o WHERE (en el segundo)?

    El "ON" y el "WHERE" son los limitante, sin esto, el motor hará el producto cruz entre las tablas resultando todas las posibles combinaciones de tuplas. Esto puede llegar a arrojar resultados brutales si las tablas son muy grandes.

    Según la mayoría de la literatura disponible, es recomedable usar el primer método por un asunto de control y rendimiento. Si bien el segundo método se ve más fácil, cuando tengas que hacer select de muchas tablas verás las ventajas del JOIN en legibilidad.

    El tema de los JOINS es amplio, revisa la lìteratura, porque esto que te menciono es muy poco.

  9. #9
    Ingeniero con Distincion
    Avatar de noone
    Fecha de ingreso
    06 Oct, 05
    Ubicación
    inframundo a la izquierda del nirvana
    Mensajes
    536

    Re: Consultar multiples tablas - Java Mysql

    Cita Iniciado por dude Ver mensaje
    Disculpa, pero que basura de respuesta, esa la aceptaría sólo si estás en primer semestre de la U.


    Si soporta

    Hacer join es fácil, lee un poco al respecto y si no te resulta, postea tu duda.

    Saludos.

    claro que es facil, lo bonito era hacer "join" en lenguajes que no tenian join

    ahi te quiero ver

    para lo cual, si sirve la respuesta del djscorpion. es mas cuando estaba en la U (hace ufff) nos tiraron un ejercicio parecido sin antes habernos presentado con el señor join, y despues que la solucion estaba dada, nos dicen "bueno lo que ustedes acaban de hacer se puede hacer mucho mas facil con JOIN".

    Última edición por noone; 24/07/2009 a las 15:14


  10. #10
    Experimentado Avatar de djscorpion
    Fecha de ingreso
    30 Dec, 05
    Mensajes
    516

    Re: Consultar multiples tablas - Java Mysql

    Cita Iniciado por dude Ver mensaje
    Disculpa, pero que basura de respuesta, esa la aceptaría sólo si estás en primer semestre de la U.


    Si soporta

    Hacer join es fácil, lee un poco al respecto y si no te resulta, postea tu duda.

    Saludos.
    estudiante segundo año....... es lo k hay

  11. #11
    Usuario Avatar de Nego
    Fecha de ingreso
    12 Jan, 07
    Mensajes
    198

    Re: Consultar multiples tablas - Java Mysql

    Primero que todo, gracias a todos los que respondieron.

    Probare lo que me han dicho y si tengo alguna duda vuelvo a postear.

    Gracias.

  12. #12
    Mal Genio
    Avatar de NION
    Fecha de ingreso
    15 Jun, 05
    Ubicación
    rodeada de monos
    Mensajes
    12

    Re: Consultar multiples tablas - Java Mysql

    Un ejemplo:

    select top 100
    oqut.docnum,
    oqut.cardname,
    qut1.itemcode,
    qut1.dscription,
    qut1.quantity,
    qut1.linestatus,
    ordr.docentry,
    ordr.docdate
    from
    oqut
    inner join qut1 on oqut.docentry=qut1.docentry
    left join rdr1 on qut1.TrgetEntry=rdr1.baseEntry and qut1.linenum=rdr1.baseline
    left join ordr on qut1.TrgetEntry=Ordr.docentry
    where
    qut1.ocrCode like '%EH%'




    order by
    oqut.docdate desc
    ◕ ‿‿ ◕

  13. #13
    Gordo en rehabilitación
    Avatar de tokugawa
    Fecha de ingreso
    09 Sep, 06
    Ubicación
    -37.459999,-72.36
    Mensajes
    8,006

    Re: Consultar multiples tablas - Java Mysql

    Espero no llegar tarde, amigo si no tiene los 3 palos para pagar la licencia pro de toad, bajese sqleonardo de sourceforge.net, es un jar que permite hacer querys de forma visual, ideal pa newbies y negaos del sql
    Sent from mi ipaj using fapfap

    http://geoturismo.cl http://farmacias.deturno.net/mapa
    busco chamba

    Warning: A toda la comunidad Troll, las pescadas que escriba en offtopic son sólo eso , y no son validas como argumento en una discusión de Actualidad y/u otro foro donde las pescadas no tengan cabida


Temas similares

  1. Ayuda con PHP y MySql, ingreso de datos a varias tablas...
    Por A_Corvin en el foro Lenguajes de Programación
    Respuestas: 19
    Último mensaje: 03/08/2010, 11:24
  2. Consulta en sql para mysql de java
    Por PALADINJP en el foro Bases de Datos
    Respuestas: 4
    Último mensaje: 18/05/2009, 22:15
  3. Tablas en mysql
    Por The Flash en el foro Webmasters
    Respuestas: 7
    Último mensaje: 19/12/2008, 21:45
  4. Java y MYSQl
    Por Ddarkbeing en el foro Lenguajes de Programación
    Respuestas: 9
    Último mensaje: 15/11/2007, 10:47
  5. MySQL: borrar todas las tablas de una base de datos con un solo comando
    Por galansinchance en el foro Lenguajes de Programación
    Respuestas: 21
    Último mensaje: 05/09/2007, 12:26

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
*