SQL - Subqueries - conocer stock disponible

 
Vista:
sin imagen de perfil

Subqueries - conocer stock disponible

Publicado por Víctor M R (3 intervenciones) el 06/12/2016 16:53:55
Esta es la query original..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
$sql_articulos = "select
            idi.codigo, 
            idi.nombre, 
            idi.resumen,
            art.codigo,
            art.novedad,
            art.puntoscompra,
            art.puntoscanje,
            art.tipooferta,
            art.oferta,
            art.idmarca,
            art.idmodelo,
            art.idmaterial,
            art.tipo,
            art.pvp,
            art.novedad,
            art.coche,
            art.orden


            from 


            articulos as art,
            articulo_idioma as idi


            where


            art.codigo NOT IN ({$cods_reservados})
            and
            art.codigo = idi.codigo and
            (art.baja IS NULL or art.baja > '".date('Y-m-d')."') ";
La cual me devuelve correctamente los datos tras un filtro. La pregunta ahora es..como lo hago para filtrar estos mismos datos,para SI mostrar los productos que todavía posean Stock libre..os lo explico con mi idea.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
$sql_articulos = "select
            idi.codigo, 
            idi.nombre, 
            idi.resumen,
            art.codigo,
            art.novedad,
            art.puntoscompra,
            art.puntoscanje,
            art.tipooferta,
            art.oferta,
            art.idmarca,
            art.idmodelo,
            art.idmaterial,
            art.tipo,
            art.pvp,
            art.novedad,
            art.coche,
            art.orden,
            tal.stock


            from 


            articulos as art,
            articulo_idioma as idi,
            articulos_tallas as tal


            where


             tal.stock >
            (SELECT SUM(stock) AS total FROM articulos_tallas 
            WHERE codigo =  tal.stock)

            and
            art.codigo NOT IN ({$cods_reservados})
            and
            art.codigo = idi.codigo and
            (art.baja IS NULL or art.baja > '".date('Y-m-d')."') and
            idi.id_idioma = 
'"

De esta forma,pretendo que se tenga en cuenta el stock inicial,y asi,si el producto no tiene reservado todo el STOCK,SÍ mostrarlo

Necesito un filtro que me muestre los productos disponibles (que tengan Stock disponible)
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

Subqueries - conocer stock disponible

Publicado por leonardo_josue (1173 intervenciones) el 06/12/2016 20:50:39
Hola Víctor M R:

Sin que tengamos conocimiento de cuál es la estructura de tus tablas y sin tener datos de ejemplo de cada una de ellas resulta muy complicado tratar de ayudarte... quizás para ti resulte claro qué es lo que estás obteniendo como el resultado de tu query, sin embargo para nosotros no es así.

Trata de ser más específico, haz una descripción de cada una de tus tablas y pon algunos datos de ejemplo. A partir de estos datos, dinos qué es lo que esperas obtener como salida. De esta manera será más factible que podamos ayudarte.

Y aunque supongo que estás trabajando con MySQL, eso sólo lo saben Dios y tú. Postea siempre el nombre del DBMS con el que estás trabajando, ya que si bien la mayoría tiene una sintaxis parecida, hay diferencias importantes entre cada una de ellas.

Finalmente, no pongas código PHP ni de ningún otro lenguaje de programación, ya que este es un foro de SQL y hay foros específicos para cada lenguaje. Postea las consultas TAL COMO SE EJECUTAN, es decir, no pongas cosas como esto:

1
2
3
...
art.codigo NOT IN ({$cods_reservados})
...

Ya que esto es una variable o parámetro de tu programa y nosotros no tenemos idea del valor que puede traer.

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

Subqueries - conocer stock disponible

Publicado por Víctor (3 intervenciones) el 06/12/2016 22:28:16
Adjunto fotos de las tablas,y ejemplos

Articulos idioma : articulos_idioma
Articulos tallas : articulos_tallas


$cods_reservados, es el resultado de lo siguiente:

Primero : "SELECT DISTINCT id_pedido,cantidad from pedidos WHERE ( f_inicio BETWEEN '2016-12-01' AND
'2016-12-12' ) OR ( f_fin BETWEEN '2016-12-01' AND '2016-12-12' ) ";


De la query anterior obtengo unas ID's,con las cuales busco los pedidos que posean productos con esa id..
"SELECT codigo FROM pedidos_detalle WHERE id_pedido IN ("resultado query anterior") ";

y por último,la query mencionada en la publicación.

pedidos :
pedidos
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