1

Quisiera que me pudieran ayudar a realizar una consulta en base de datos en 3 tablas relacionadas.

Tengo tres tablas:

  • movimientos
  • Despachador
  • Trabajadores
  • comunas

Relación entre las tablas

Si me pueden ayudar a realizar la consulta en la tabla movimientos.

Seseo mostrar id, fecha, numeropedido, numeroventa, tipoventa,

Es para un almacén en donde se arman pedidos entonces.

Si no se entiende bien lo explico de forma conceptual:

Tengo la tabla movimientos que es donde se guardan todos los movimientos números de pedidos y esas cosas. Cada pedido se envía a una dirección, que en este caso es la relación con id_comuna, y ese pedido lo arma una persona que es el id_armado.

Ese pedido lo embala otra persona que es una misma que está en la tabla trabajadores y, además, ese pedido es enviado por un despachador.

Lo que deseo es en vez de mostrar los id_comuna, id_empleado, Id_despachador.

Que me mostrase el nombre, en vez de los id. Es para mostrarlo en un formulario, ya que si lo muestro tal cual solo me mostrará los números únicos de cada tabla y no me sirve.

RuthIsRoot
  • 1,049
  • 2
  • 17
  • 1
    Hola, bienvenido a la comunidad. Te invito a hacer el [recorrido](https://es.stackoverflow.com/tour) y leer [¿cómo preguntar?](https://es.stackoverflow.com/help/how-to-ask). Además, para poder reproducir tu problema y encontrar una solución fácilmente nos sería de gran ayuda un [ejemplo mínimo, completo y verificable](https://es.stackoverflow.com/help/mcve). ¿Qué consultas SQL has probado hasta ahora? – OscarGarcia Apr 09 '22 at 22:06

1 Answers1

0

Para orientarte un poco léete esta respuesta, sobre JOIN, LEFT JOIN, RIGHT JOIN y FULL JOIN.

Te aconsejo que hagas pruebas, respecto sobre lo que has leído en el artículo, es como más se aprende, piensa que realmente las preguntas sin código no son bienvenidas.

Podrías obtener el nombre de tus columnas con relación usando por ejemplo: LEFT JOIN `comuna` AS c ON m.id_comuna = c.id, y obtendrás el nombre de comuna según el id que tengas en movimientos.

Posible ejemplo:
Según el ejemplo de tus tablas

SELECT 
          m.id,
          m.fecha,
          m.numeropedido,
          m.numeroventa,
          m.tipoventa,
          c.comuna,
          a.nombre AS `nombre_armado`,
          e.nombre AS `nombre_embalado`,
          d.nombre AS `nombre_despachador`
     FROM `movimientos` AS m
LEFT JOIN `comuna`      AS c ON m.id_comuna = c.id
LEFT JOIN `trabjadores` AS a ON m.id_armado = a.id
LEFT JOIN `trabjadores` AS e ON m.id_embalado = e.id
LEFT JOIN `despachador` AS d ON m.id_despachadores = d.id
Diablo
  • 6,417
  • 2
  • 21
  • 40