Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta con JOINS múltiples

Estas en el tema de Consulta con JOINS múltiples en el foro de Mysql en Foros del Web. Hola a todos. Si bien tengo una mínima experiencia en MySQL, no soy experto y me he chocado con el techo. Aquí mi problema. He ...
  #1 (permalink)  
Antiguo 27/11/2013, 14:02
Avatar de animalson  
Fecha de Ingreso: agosto-2009
Mensajes: 16
Antigüedad: 14 años, 7 meses
Puntos: 0
Consulta con JOINS múltiples

Hola a todos. Si bien tengo una mínima experiencia en MySQL, no soy experto y me he chocado con el techo.

Aquí mi problema. He separado una tabla de artículos que tenía la base de datos, en tres distintas para normalizar un poco la estructura. La tabla original tenía cuatro columnas distintas para almacenar existencias en distintos depósitos. Y también tenía 3 columnas extras para tres diferentes precios para cada artículo. Algo así:

[ARTICULOS]
ID
DESCRIPCION
STOCK1
STOCK2
STOCK3
STOCK4
PRECIO1
pRECIO2
PRECIO3

En fin, esto era poco práctico así que decidí crear una tabla extra para las existencias y otra para las listas de precios.

[ARTICULOS]
ID
DESCRIPCION

[STOCK]
ID_DEPOSITO
ID_ARTICULO
STOCK

[PRECIOS]
ID_LISTA
ID_ARTICULO
PRECIO

El problema ahora es que no sé cómo hacer una consulta que me muestre la información de cada artículo en una sola fila. Antes me era simple ya que había una columna para cada dato, pero ahora cuando cruzo varios JOINS me repite filas (y es lógico que así sea). Por ej:

SELECT *
FROM ARTICULOS A
JOIN STOCK S ON S.ID_ARTICULO = A.ID
JOIN PRECIOS P ON P.ID_ARTICULO = A.ID

Antes me resultaba simple tirar un listado de existencias y precios por artículo, pero ahora no sé como resolverlo.

muchas gracias por su tiempo.
  #2 (permalink)  
Antiguo 28/11/2013, 01:40
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Consulta con JOINS múltiples

animalson,
sin datos concretos no entiendo bien lo que te pasa. La estructura no está mal, al contrario.
Si haces la consulta que te pongo debajo, ¿qué te falta, qué te sale mal? La consulta se reduce a los datos que ofreces, claro. Si tienes más campos debes de aclarar cuáles. Solo te muestra los artículos que tienes en stock. Pon ejemplo con datos de lo que tienes, cómo te sale y cómo querrías que saliera.
Código MySQL:
Ver original
  1.   A.DESCRIPCION,
  2.   S.STOCK,
  3.   P.PRECIO
  4. FROM STOCK S
  5.   INNER JOIN ARTICULOS A ON S.ID_ARTICULO = A.ID
  6.   INNER JOIN PRECIOS P ON P.ID_ARTICULO = S.ID_ARTICULO

Última edición por jurena; 29/11/2013 a las 10:51

Etiquetas: join, joins, select, sql, tabla
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 06:22.