Funcion Pivot ejeutandola dentro de un Query Dinamico
Función Pivot ejeutandola dentro de un Query Dinamico
Жүктеу.....
Пікірлер: 53
@axelt2008 Жыл бұрын
Muchas gracias por compartir tus conocimientos
@josephbjcr3 жыл бұрын
Muy bueno 👍 👍 👍
@jairoFX2 жыл бұрын
Excelente, Muchas Gracias
@NeoAziara4 жыл бұрын
Muchas gracias!! Veré todos sus vídeos.
@marcilonmendonca81354 жыл бұрын
Excelente, siempre habia tenido problemas para entender los PIVOT y con tu explicación me quedó muy claro, muchas gracias, RECOMENDADO
@Zwaqquen6 жыл бұрын
Excelente hermano, bien explicado, muchas gracias.
@sopteccomunicaciones96035 жыл бұрын
Excelente forma de enseñar, felicitaciones!
@codigoloa28283 жыл бұрын
EXCELENTE EXPLICACION, POCOS SABEN EXPLICAR ASI, GRACIAS
@JosueVader6 жыл бұрын
Excelente explicación y voz clarisima! Gracias!
3 жыл бұрын
Eres lo máximo, excelente
@jorgecarrillo49286 жыл бұрын
Muy bien explicado, justo lo que necesito, muchas gracias..!!
@raulvallejo19513 жыл бұрын
Muchas gracias hermano!!!!
@Javs_2 жыл бұрын
Gracias me ayudo bastante para adaptarlo a mysql y crear una función que desplegara una tabla pivote.
@tamaki.0944 жыл бұрын
muy bien explicado. Gracias . Lo tengo que aplicar en ORACLE entonces tendré que hacer mis modificaciones pero igual me servirá este vídeo.
@dantevalle15924 жыл бұрын
Buenazo, lo veo en el 2020 :D
@katministry5 жыл бұрын
Por fin lo encontré de una manera clara y que pudiera entender.
@josefernandouseche64725 жыл бұрын
Demasiado bien. Simplemente Perfecto. SQL avanzado. Muchas Gracias profesor por estos aportes invaluables.
@isaiasdouglas2668
2 жыл бұрын
InstaBlaster
@RomeroSusana Жыл бұрын
muchas gracias!, una consulta, como podria pasar ese resultado del exec a una tabla temporal?
@josecastillo-mu6is5 жыл бұрын
me salvaste hermano eres un crack
@AddaSys5 жыл бұрын
exelente, la forma de explicar
@andryeliasmartinezcanul15353 жыл бұрын
Si quiero restar Bicleta - cadena como seria la consulta ??
@andresyepez44103 жыл бұрын
Una consulta que pasa cuando en vez de año es una cadena con espacion por ejemplo '1 Dósis( )' se debe poner entre comillas el valor directo entre [], gracias por su pronta respuesta
@vhcardenas
3 жыл бұрын
Pasa que se complica la cadena que esta formando, ya que para indicar fin y comienzo de cadenas de texto debe usar dos veces el apostrofe, intente mejor creando variables y luego concatenando esas variables.
@flag26125 жыл бұрын
Muy bien explicado 👍 No hay otra función a parte de pvt para no hacer todo eso? Y en phpMyAdmin cómo sería? Gracias
@visoalgt
5 жыл бұрын
Aquí estas trabajando con el SQL Server de Microsoft en MySQL que es lo que usa phpMyAdmin no existe la función pivot, por lo que tienes que construirlo manualmente haciendo agrupaciones con Group by y luego condicionado, pero una búsqueda rápida en el internet de dará la solución.
@flag2612
5 жыл бұрын
@@visoalgt gracias
@codup4364 жыл бұрын
Hola Víctor buen día, te felicito por el gran aporte que haces a la comunidad tecnológica. Víctor quería consultarte sobre como se puede reemplazar esos valores NULOS que arroja el pivot dinámico. Saludos desde Perú.
@visoalgt
4 жыл бұрын
No había tenido necesidad de reemplazar los valores nulos, pero de primera mano se me ocurre que en tu query, antes de aplicar el formato XML, podrias usar la función ISNULL() o la función COALESCE() para sustituir por 0 o por espacios los valores nulos, para que al aplicar formato de XML estos ya no existan
@pablocalderon3217
4 жыл бұрын
Hola CodUP, ¿te funcionó la solución con los nulos? Saludos,
@jhonrojasquispe2413 жыл бұрын
Ese pivot puedo meter a una tabla temporal esa info, ya que esa info necesito trabajarla depues de obtenerla de esa manera si alguien me ayuda
@alejandromamani96473 жыл бұрын
Esto es posible en Mysql ?
@leonardorojas35854 жыл бұрын
Muchas Gracias muy claro todo, una pregunta ¿De donde puedo baja una base de datos de ejemplo NorthWind?
Me parece muy útil tu explicación, pero tengo una pregunta. ¿En la parte del in de la función pivot no se pude colocar una subconsulta que traiga los años para evitar hacer el proceso del concatenado en la variable?
@vhcardenas
4 жыл бұрын
No, no es posible, por eso hay que hacer un query dinamico, pero te invito a que lo intentes para comprobarlo, Saludos!
@niggeljkd3 жыл бұрын
Gracias muy bueno,me surge una duda si deseo invocar este codigo desde una aplicacion externa como lo haria es decir,yo puedo invocar un procedure una vista,pero este bloque de codigo ya no es una vista y tampoco es un procedure,como se puede mandar a ejecutar el query que nos plantea,de verdad me gustaria me aclarara por favor esta duda ya que me intereza implementar este codigo desde una aplicacion,saludos
3 жыл бұрын
con la función pivot puedo clasificar una columna con datos diferentes en varias columnas ?? como separar los datos en una consulta
@visoalgt
3 жыл бұрын
La respuesta es si, pero no comprendo muy bien lo que buscas hacer, dentrias que dar mas detalle
@MiguelAngelReinaWalteros6 жыл бұрын
excelente ejemplo, me gusto, solo tengo una pregunta, si el algún registro de los años el resultado es null, como harías para que en el pivot no aparezca null si no que a parezca cero (0)
@visoalgt
6 жыл бұрын
Usar la función ISNULL que permite remplazar el valor nulo por otro debería de ser como ISNULL([CAMPO], 0)
@MiguelAngelReinaWalteros
6 жыл бұрын
en que parte del ejemplo que explica lo pongo en la parte del execute?
@vhcardenas
6 жыл бұрын
Execute ('Select * from ventascategoria pivot(sum(isnull(total,0)) for año in ('+@anios+')) as pvt')
@danilo4321
5 жыл бұрын
@@visoalgt SI ES MAS DE UN CAMPO NULL
@rocioportillo18034 жыл бұрын
Como podria crear una columna Total dentro de ese mismo query y que sume el total de los valores del resto de las columnas?
@migueldelahoz47406 жыл бұрын
Diferencias entre un pivot y un group by??
@visoalgt
6 жыл бұрын
las dos agrupan pero group by no hace referencia cruzada, no deja tomar los datos de una fila y ponerlos como titulo de columna
@migueldelahoz4740
6 жыл бұрын
visoalgt excelente estimado, muchas gracias por resolver mi inquietud, tengo otra duda como puedo hacer uso de en group by sin definir en el todos campos que halla puesto en un select?
@eduardolira39643 ай бұрын
como quito los valores null de la pivot?
@visoalgt
3 ай бұрын
filtra los datos antes de entrar a la función pivot
@danilo43215 жыл бұрын
Hola El pivot Dinámico lo puedo poner alias a esos datos ya que como esta en facha no esta de todo bien pero yo creo si se pone alias ya no seria dinamico que me dices alguna idea ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
@Martin-Abad-Alay5 жыл бұрын
EXCELENTE TUTORIAL...! PERO COMO PUEDO HACER SI ES POR MESES Y QUIERO SACAR EL TOTAL POR CATEGORIA O POR AÑO O AMBOS COMO SE HACE AQUÍ LA CONSULTA USE NORTHWIND GO --drop view vwVentasCategoriaMENSUAL_TODOS_LOS_AÑOS create view vwVentasCategoriaMENSUAL_TODOS_LOS_AÑOS as select c.CategoryName, month(o.OrderDate) mes, d.UnitPrice*d.Quantity as Total from Categories c inner join Products p on c.CategoryID=p.CategoryID inner join [Order Details] d on p.ProductID=d.ProductID inner join Orders o on d.OrderID=o.OrderID where YEAR(o.OrderDate)=1997 GO DECLARE @MESES NVARCHAR(MAX)='' SELECT @MESES=@MESES+'['+X.MES+'],' FROM ( select distinct CAST((MONTH(o.OrderDate))AS NVARCHAR(MAX)) as MES from Orders o )X SET @MESES=LEFT(@MESES,LEN(@MESES)-1) --SELECT @MESES EXEC('SELECT * FROM vwVentasCategoriaMENSUAL_TODOS_LOS_AÑOS PIVOT(SUM(Total) FOR mes in('+@MESES+'))AS PVT ')
@rubenmorenosoto8964 жыл бұрын
Excelente, siempre habia tenido problemas para entender los PIVOT y con tu explicación me quedó muy claro, muchas gracias, RECOMENDADO
Пікірлер: 53
Muchas gracias por compartir tus conocimientos
Muy bueno 👍 👍 👍
Excelente, Muchas Gracias
Muchas gracias!! Veré todos sus vídeos.
Excelente, siempre habia tenido problemas para entender los PIVOT y con tu explicación me quedó muy claro, muchas gracias, RECOMENDADO
Excelente hermano, bien explicado, muchas gracias.
Excelente forma de enseñar, felicitaciones!
EXCELENTE EXPLICACION, POCOS SABEN EXPLICAR ASI, GRACIAS
Excelente explicación y voz clarisima! Gracias!
Eres lo máximo, excelente
Muy bien explicado, justo lo que necesito, muchas gracias..!!
Muchas gracias hermano!!!!
Gracias me ayudo bastante para adaptarlo a mysql y crear una función que desplegara una tabla pivote.
muy bien explicado. Gracias . Lo tengo que aplicar en ORACLE entonces tendré que hacer mis modificaciones pero igual me servirá este vídeo.
Buenazo, lo veo en el 2020 :D
Por fin lo encontré de una manera clara y que pudiera entender.
Demasiado bien. Simplemente Perfecto. SQL avanzado. Muchas Gracias profesor por estos aportes invaluables.
@isaiasdouglas2668
2 жыл бұрын
InstaBlaster
muchas gracias!, una consulta, como podria pasar ese resultado del exec a una tabla temporal?
me salvaste hermano eres un crack
exelente, la forma de explicar
Si quiero restar Bicleta - cadena como seria la consulta ??
Una consulta que pasa cuando en vez de año es una cadena con espacion por ejemplo '1 Dósis( )' se debe poner entre comillas el valor directo entre [], gracias por su pronta respuesta
@vhcardenas
3 жыл бұрын
Pasa que se complica la cadena que esta formando, ya que para indicar fin y comienzo de cadenas de texto debe usar dos veces el apostrofe, intente mejor creando variables y luego concatenando esas variables.
Muy bien explicado 👍 No hay otra función a parte de pvt para no hacer todo eso? Y en phpMyAdmin cómo sería? Gracias
@visoalgt
5 жыл бұрын
Aquí estas trabajando con el SQL Server de Microsoft en MySQL que es lo que usa phpMyAdmin no existe la función pivot, por lo que tienes que construirlo manualmente haciendo agrupaciones con Group by y luego condicionado, pero una búsqueda rápida en el internet de dará la solución.
@flag2612
5 жыл бұрын
@@visoalgt gracias
Hola Víctor buen día, te felicito por el gran aporte que haces a la comunidad tecnológica. Víctor quería consultarte sobre como se puede reemplazar esos valores NULOS que arroja el pivot dinámico. Saludos desde Perú.
@visoalgt
4 жыл бұрын
No había tenido necesidad de reemplazar los valores nulos, pero de primera mano se me ocurre que en tu query, antes de aplicar el formato XML, podrias usar la función ISNULL() o la función COALESCE() para sustituir por 0 o por espacios los valores nulos, para que al aplicar formato de XML estos ya no existan
@pablocalderon3217
4 жыл бұрын
Hola CodUP, ¿te funcionó la solución con los nulos? Saludos,
Ese pivot puedo meter a una tabla temporal esa info, ya que esa info necesito trabajarla depues de obtenerla de esa manera si alguien me ayuda
Esto es posible en Mysql ?
Muchas Gracias muy claro todo, una pregunta ¿De donde puedo baja una base de datos de ejemplo NorthWind?
@vhcardenas
4 жыл бұрын
github.com/Microsoft/sql-server-samples/tree/master/samples/databases/northwind-pubs
Me parece muy útil tu explicación, pero tengo una pregunta. ¿En la parte del in de la función pivot no se pude colocar una subconsulta que traiga los años para evitar hacer el proceso del concatenado en la variable?
@vhcardenas
4 жыл бұрын
No, no es posible, por eso hay que hacer un query dinamico, pero te invito a que lo intentes para comprobarlo, Saludos!
Gracias muy bueno,me surge una duda si deseo invocar este codigo desde una aplicacion externa como lo haria es decir,yo puedo invocar un procedure una vista,pero este bloque de codigo ya no es una vista y tampoco es un procedure,como se puede mandar a ejecutar el query que nos plantea,de verdad me gustaria me aclarara por favor esta duda ya que me intereza implementar este codigo desde una aplicacion,saludos
con la función pivot puedo clasificar una columna con datos diferentes en varias columnas ?? como separar los datos en una consulta
@visoalgt
3 жыл бұрын
La respuesta es si, pero no comprendo muy bien lo que buscas hacer, dentrias que dar mas detalle
excelente ejemplo, me gusto, solo tengo una pregunta, si el algún registro de los años el resultado es null, como harías para que en el pivot no aparezca null si no que a parezca cero (0)
@visoalgt
6 жыл бұрын
Usar la función ISNULL que permite remplazar el valor nulo por otro debería de ser como ISNULL([CAMPO], 0)
@MiguelAngelReinaWalteros
6 жыл бұрын
en que parte del ejemplo que explica lo pongo en la parte del execute?
@vhcardenas
6 жыл бұрын
Execute ('Select * from ventascategoria pivot(sum(isnull(total,0)) for año in ('+@anios+')) as pvt')
@danilo4321
5 жыл бұрын
@@visoalgt SI ES MAS DE UN CAMPO NULL
Como podria crear una columna Total dentro de ese mismo query y que sume el total de los valores del resto de las columnas?
Diferencias entre un pivot y un group by??
@visoalgt
6 жыл бұрын
las dos agrupan pero group by no hace referencia cruzada, no deja tomar los datos de una fila y ponerlos como titulo de columna
@migueldelahoz4740
6 жыл бұрын
visoalgt excelente estimado, muchas gracias por resolver mi inquietud, tengo otra duda como puedo hacer uso de en group by sin definir en el todos campos que halla puesto en un select?
como quito los valores null de la pivot?
@visoalgt
3 ай бұрын
filtra los datos antes de entrar a la función pivot
Hola El pivot Dinámico lo puedo poner alias a esos datos ya que como esta en facha no esta de todo bien pero yo creo si se pone alias ya no seria dinamico que me dices alguna idea ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
EXCELENTE TUTORIAL...! PERO COMO PUEDO HACER SI ES POR MESES Y QUIERO SACAR EL TOTAL POR CATEGORIA O POR AÑO O AMBOS COMO SE HACE AQUÍ LA CONSULTA USE NORTHWIND GO --drop view vwVentasCategoriaMENSUAL_TODOS_LOS_AÑOS create view vwVentasCategoriaMENSUAL_TODOS_LOS_AÑOS as select c.CategoryName, month(o.OrderDate) mes, d.UnitPrice*d.Quantity as Total from Categories c inner join Products p on c.CategoryID=p.CategoryID inner join [Order Details] d on p.ProductID=d.ProductID inner join Orders o on d.OrderID=o.OrderID where YEAR(o.OrderDate)=1997 GO DECLARE @MESES NVARCHAR(MAX)='' SELECT @MESES=@MESES+'['+X.MES+'],' FROM ( select distinct CAST((MONTH(o.OrderDate))AS NVARCHAR(MAX)) as MES from Orders o )X SET @MESES=LEFT(@MESES,LEN(@MESES)-1) --SELECT @MESES EXEC('SELECT * FROM vwVentasCategoriaMENSUAL_TODOS_LOS_AÑOS PIVOT(SUM(Total) FOR mes in('+@MESES+'))AS PVT ')
Excelente, siempre habia tenido problemas para entender los PIVOT y con tu explicación me quedó muy claro, muchas gracias, RECOMENDADO