SQL - Mostrar todos los Registros de tabla A y las que coinciden de tabla B

 
Vista:
Imágen de perfil de Carlos
Val: 1
Ha disminuido su posición en 42 puestos en SQL (en relación al último mes)
Gráfica de SQL

Mostrar todos los Registros de tabla A y las que coinciden de tabla B

Publicado por Carlos (1 intervención) el 25/07/2016 20:44:34
Estimados
Junto con saludar agradeceré que me puedan ayudar con una query.
Tengo tres tablas "Ubicaciones" "Inventario" y "Artículos" (Primer Imagen "Tablas_SD") y lo que quiero es hacer una consulta y que me muestre todas las ubicaciones de la tabla pero si esa ubicación tiene stock que me muestra y si no vació así como de la imagen ("Segunda Consulta_SD")
agradezco desde ya se me pueden pasar ejemplos.

Mis tablas
Tablas_SD


La consulta que deseo obtener es como sigue:
CONSULTA_SD
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Mostrar todos los Registros de tabla A y las que coinciden de tabla B

Publicado por leonardo_josue (1173 intervenciones) el 25/07/2016 22:18:05
Hola Carlos:

Investiga un poco sobre el uso de LEFT o RIGTH JOIN, es lo que necesitas para hacer lo que quieres.

https://es.wikipedia.org/wiki/Join

Haz la prueba y nos comentas.

Saludos
Leo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Mostrar todos los Registros de tabla A y las que coinciden de tabla B

Publicado por DAVID (23 intervenciones) el 26/07/2016 22:16:39
Hola,
Debes usar un inner join sobre la tabla que quieres todas las filas. Yo diría que seria algo así, aunque no lo tengo claro. Debería tener la BBDD para probarlo:
1
2
3
4
SELECT *
FROM UBICACIONES U, ARTICULOS A
inner join  INVENTARIO I on U.ID_UBICA=I.ID_UBICA
WHERE A.ID_PROD=I.ID_PROD

Si no tuvieras la descripción, seria mas fácil ,pues no necesitarías la tabla artículos. Seria así:

1
2
3
SELECT *
FROM UBICACIONES U
inner join  INVENTARIO I on U.ID_UBICA=I.ID_UBICA

De todas formas, prueba esto.

Un saludo,
David
diseño grafico madrid
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mostrar todos los Registros de tabla A y las que coinciden de tabla B

Publicado por pangui (1 intervención) el 11/08/2016 17:58:54
Par abtener todas las fila de un atabla independientemente que existan en la otra de ha de hacer un OUTER JOIN...
Prueba esto

1
2
3
4
5
6
7
8
9
10
11
select substr(cod_barras,1,3) -- para obtener la zona
ubica_fisico,
           id_prod
       descripcion
       stock_fisico,
       stock_asignado
from tabla_ubicaciones  --Tu quieres todas las ubicaciones independentemente si hay o no stock, esta es tu tabla principal
   Left outer join tabla_inventario --si haces un inner join o join solo te arroja las lineas donde hay match
on tabla_ubicaciones.id_ubica = tabla_inventario.id_ubica
   left outer join tabla_articulos
on  tabla_inventario.id_prod = tabla_articulos.id_prod
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar