SQL - Consulta por filtros en sql server 2012

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

Consulta por filtros en sql server 2012

Publicado por leandro (3 intervenciones) el 29/10/2020 19:35:41
Buenas tardes! como estan.. un gusto poder escribirles.

estoy teniendo un problema con una consulta que genere para ver 4 tablas .

mi problema que tengo una tabla llamada Depósitos la cual cuando ejecuto la consulta me tira todos los Depositos, la realidad es que necesito poder lograr que solo me muestre un Deposito por ejemplo solo 100.

1
2
3
4
5
6
7
8
9
SELECT STOC_ARTS.ARTS_ARTICULOS  as Artículos,
    STOC_ARTS.ARTS_CLASIF_8 as Clasif8,
    cast (STOC_STDP.STDP_STOCK_ACT as int) as Stock,
    STOC_STDP.STDP_DEPOSITO as Depósito
 
FROM STOC_ARTS
      INNER JOIN STOC_STDP ON STOC_ARTS.ARTS_ARTICULO  = STOC_STDP.STDP_ARTICULO
 
WHERE STOC_ARTS.ARTS_TIPO_ART = '6'


desde ya muchas gracias!!
saludos.-
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
Imágen de perfil de Manuel
Val: 67
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Consulta por filtros en sql server 2012

Publicado por Manuel (29 intervenciones) el 31/10/2020 21:40:13
Si entendí bien lo que pides, pues realmente es solo agregar a la parte where de la consulta, que también filtre por ese depósito en particular, quedando algo así:
1
2
3
4
5
6
7
8
SELECT STOC_ARTS.ARTS_ARTICULOS  as Artículos,
STOC_ARTS.ARTS_CLASIF_8 as Clasif8,
cast (STOC_STDP.STDP_STOCK_ACT as int) as Stock,
STOC_STDP.STDP_DEPOSITO as Deposito
FROM STOC_ARTS
INNER JOIN STOC_STDP ON STOC_ARTS.ARTS_ARTICULO  = STOC_STDP.STDP_ARTICULO
WHERE STOC_ARTS.ARTS_TIPO_ART = '6'
AND Deposito=100

Un consejo: nunca uses tildes para definir campos ni similar... Lo digo porque tenías Depósito y mejor no complicarse la vida usando solo deposito... sufiente descriptivo y eso no es para que cumpla a rejatabla la ortografía del español, es solo darle un nombre a un campo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Consulta por filtros en sql server 2012

Publicado por Leandro (1 intervención) el 03/11/2020 17:11:21
Muchas gracias por tu ayuda!!sabes mira lo que preciso y no se como expresarlo bien es
1
2
3
4
5
6
7
8
9
SELECT STOC_ARTS.ARTS_ARTICULO_EMP as Artículo,
   STOC_ARTS.ARTS_CLASIF_8 as Clasif8,
   cast (STOC_STDP.STDP_STOCK_ACT as int) as Depósito100,
   cast (STOC_STDP.STDP_STOCK_ACT as int) as Depósito115
 
  FROM STOC_ARTS
 
  INNER JOIN STOC_STDP ON STOC_ARTS.ARTS_ARTICULO = STOC_STDP.STDP_ARTICULO
  where STOC_STDP.STDP_DEPOSITO = 100  and    STOC_ARTS.ARTS_CLASIF_8  = '1'

tengo este codigo que llama bien a la consulta, pero quiero no solo llamar al deposito 100, si no a varios al mismo tiempo, pero me esta volviendo loco como resolverlo

1
2
3
4
5
6
7
8
9
10
11
12
clasif       articulo                   dep1   dep2
1	      4017 2 U	               197	197
1	      4017 3 U	                258	258
1	      4017 43 U          	27	27
1	      4017 44 U	                0	0
1	      4017 57 U          	0	0
1	      4018 2 U	              138	138
1	      4018 3 U	              229	229
1	      4018 43 U           757	757
1	      4018 44 U	           -13-         13
1	      4018 57 U	            -2	           -2
1	      4019 2 U	            61          61

por defecto en esta consulta me trae lo mismo, no se como decirle que me traiga la información del deposito 2.


Muchas gracias!!!

Saludos!!
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
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Consulta por filtros en sql server 2012

Publicado por Isaias (1921 intervenciones) el 03/11/2020 19:08:44
¿Ya intentaste con la opcion TOP?

1
SELECT TOP 100 ...........
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Leandro
Val: 6
Ha disminuido su posición en 2 puestos en SQL (en relación al último mes)
Gráfica de SQL

Consulta por filtros en sql server 2012

Publicado por Leandro (3 intervenciones) el 04/11/2020 20:28:30
Como esta mi amigo?
gracias por su respuesta, el problema en si es que los depósitos me salen uno abajo del otro,

deposito
1
2
3
4
etc..

lo que yo preciso es ponerlos en paralelo

deposito 1 2 3 4 5 5 etc..

pero no consigo dar con la sentencia justa para decirle que si me trae stock sean de los siguientes depósitos 1 2 3 4 5 6

en mi consulta o me trae solo un deposito el que yo crea conveniente poner o al modificarla hago que me traiga todos los depósitos pero me los trae de manera vertical y no se como hacer para que los ponga de manera horizontal!

muchas gracias!!

Saludos!!
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
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Consulta por filtros en sql server 2012

Publicado por Isaias (1921 intervenciones) el 05/11/2020 20:02:10
Busca en Google "SQL Server 2016 PIVOT"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Leandro
Val: 6
Ha disminuido su posición en 2 puestos en SQL (en relación al último mes)
Gráfica de SQL

Consulta por filtros en sql server 2012

Publicado por Leandro (3 intervenciones) el 23/11/2020 22:41:51
Buenas tardes amigos pude resolver lo de PIVOT, La consulta corre bien..
quieros mostrarles mi consulta , por que mi problema es que cuando corro la consulta me tira todos los depósitos que eso esta bien, pero al final me tira los datos de ARTICULOS , Y CLASIF8 cuando en realidad debería exponer en mi tabla de consulta

lo siguiente: ARTICULOS, CLASIF8 Y LUEGO TODOS LOS DEPOSITOS CON PIVOT.

La consulta realiza lo siguiente: PONE primero todos los DEPOSITOS y al final ARTICULOS, CLASIF8.

Me pueden ayudar porfavor!
muchas gracias!!
les dejo mi cunsulta:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
;WITH Clasif8 (Artículos, Clasif8, Stock,Depósito) as
(SELECT STOC_ARTS.ARTS_ARTICULO_EMP as Artículo,
STOC_ARTS.ARTS_CLASIF_8 as Clasif8,
cast (STOC_STDP.STDP_STOCK_ACT as int) as Stock, STOC_STDP.STDP_DEPOSITO as Depósito
FROM STOC_ARTS
INNER JOIN AATC_MTYC ON STOC_ARTS.ARTS_ARTICULO = AATC_MTYC.MTYC_ARTICULO_TC
INNER JOIN STOC_CA08 ON STOC_CA08.CA08_CLASIF_8 = STOC_ARTS.ARTS_CLASIF_8
INNER JOIN STOC_TIAR ON STOC_TIAR.TIAR_TIPO_ART = STOC_ARTS.ARTS_TIPO_ART
INNER JOIN STOC_STDP ON STOC_ARTS.ARTS_ARTICULO = STOC_STDP.STDP_ARTICULO
where STOC_ARTS.ARTS_TIPO_ART = '6' and STOC_ARTS.ARTS_CLASIF_8 = '1'
)
select * into :_RESULTADO from Clasif8
pivot (sum(Stock) for Depósito in
([100], [115], [129], [130], [142], [213], [215], [216], [217], [220], [221], [230], [300], [352], [355], [358], [359], [360], [362], [363], [371], [374], [375], [378], [379], [390], [391], [392] )) PVT


Abrazo!!! compañeros!!
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