SQL - Consultas SQL

 
Vista:

Consultas SQL

Publicado por Felicia (21 intervenciones) el 13/01/2020 12:51:17
Buenas, tengo la siguientes tablas con los siguientes campos:
-Almacenes:
*ID
*Nombre
*Ubicacion
-Productos:
*ID
*Nombre
*Precio unitario
-Productos-Almacenes:
*ID_almacen
*ID_producto
*Stock
-Ventas:
*ID_venta
*ID_producto
*ID_almacen
*Fecha_de_venta(int usando solo el año)


Quisiera saber como podria hacer las siguientes consultas:
-listado de almacenes
-listado de productos(seleccionando el almacen)
-listado de ventas (seleccionando año de venta y almacen)
-Mostrar el listado de todos los almacenes que tienen stock de menos de 5 unidades
-Seleccionando un almacen en concreto, ver cuantos productos tienen menos de 5 unidades y el numero de stock

Muchas gracias!
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: 137
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Consultas SQL

Publicado por Luis Horacio (38 intervenciones) el 13/01/2020 16:24:02
Buen día, estas son las consultas
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

Consultas SQL

Publicado por Felicia (21 intervenciones) el 13/01/2020 16:50:25
Muchas gracias por la respuesta! te adjunto los errores que me han dado

1
2
3
4
5
select PA.ID_almacen1, A.Nombre as NombreAlmacen, PA.ID_producto, P.Nombre, P.Precio_unitario
	from `Productos-Almacenes` PA
	inner join Productos P on PA.ID_producto = P.ID
	inner join Almacenes A on PA.ID_almacen = A.ID
	where PA.ID_almacen1 = @idAlmacen LIMIT 0, 25
MySQL ha dicho: Documentación

#1054 - La columna 'PA.ID_almacen' en on clause es desconocida


1
2
3
4
5
select Consulta.ID_almacen,A.Nombre  from
    (select PA.ID_almacen from `Productos-Almacenes` PA
    where PA.Stock < 5
    group by PA.ID_almacen) Consulta
    inner join Almacenes A on Consulta.ID_almacen = A.ID LIMIT 0, 25
MySQL ha dicho: Documentación

#1054 - La columna 'PA.ID_almacen' en field list es desconocida

1
2
3
select PA.ID_almacen,PA.ID_producto, PA.Stock, P.Nombre from `Productos-Almacenes` PA
	inner join Productos P on PA.ID_producto = P.ID
	where PA.ID_almacen = @idAlmacen and PA.Stock < 5 LIMIT 0, 25
MySQL ha dicho: Documentación

#1054 - La columna 'PA.ID_almacen' en field list es desconocida

Estos tres errores creo que se deben porque la tabla productos-almacenes tiene los siguientes campos ID_producto, ID_almacen1, ID_almacen2 y Stock

1
2
3
4
5
6
7
8
set @año = 2020;
set @idAlmacen = 1;
 
select V.ID_almacen, A.Nombre as NombreAlmacen, V.ID_producto, P.Nombre
from Ventas V
inner join Productos P on V.ID_producto = P.ID
inner join Almacenes A on V.ID_almacen = A.ID
where V.ID_almacen = @idAlmacen and V.Fecha_de_venta = @año

Esta ultima consulta solo deberia:

D_almacen
NombreAlmacen
ID_producto
Nombre


Faltaria la columna año de venta, que es el factor de busqueda aparte del id_almacen
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
Val: 137
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Consultas SQL

Publicado por Luis Horacio (38 intervenciones) el 13/01/2020 17:25:23
buenos días,

en todas las consultas debes de cambiar PA.ID_almacen por PA.ID_almacen1
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

Consultas SQL

Publicado por Felicia (21 intervenciones) el 13/01/2020 17:43:11
En la consultaria necesitaria añadir tb el almacen2, como seria la consulta? estoy intentando hacerla y no me sale.

1
2
3
4
5
select Consulta.ID_almacen,A.Nombre  from
    (select PA.ID_almacen from `Productos-Almacenes` PA
    where PA.Stock < 5
    group by PA.ID_almacen) Consulta
    inner join Almacenes A on Consulta.ID_almacen = A.ID

En esta consulta me daria el nombre del almacen que tiene un stock por debajo de 5 pero no el numero del stock en concreto.

Mcuhas gracias por todo
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
Val: 137
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Consultas SQL

Publicado por Luis Horacio (38 intervenciones) el 13/01/2020 20:13:56
Buenas tardes, esta seria la consulta

1
2
3
4
5
select PA.ID_almacen1, PA.ID_producto, PA.Stock as Stock, A.Nombre, PA.ID_almacen2, Alm.Nombre as NomAlmacen
from `Productos-Almacenes` PA
inner join Almacenes A on PA.ID_almacen1 = A.ID
inner join Almacenes Alm on PA.ID_almacen2 = A.ID
where PA.Stock < 5
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