1 00:00:01,330 --> 00:00:08,470 Nuestro siguiente ejemplo vamos a basarlo en un problema que es obtener los grupos étnicos de cada país. 2 00:00:09,070 --> 00:00:12,150 Bueno, vamos a ver cómo es la estructura nuevamente de la base de datos. 3 00:00:12,890 --> 00:00:20,489 Tenemos un país y dentro de ese país, en ese siguiente nivel, aparecen los grupos étnicos con su porcentaje. 4 00:00:22,170 --> 00:00:25,870 Bien, pues sabiendo esto podemos aplicar la siguiente idea. 5 00:00:25,870 --> 00:00:29,629 Vamos a recorrer todos los grupos étnicos de todos los países. 6 00:00:29,629 --> 00:00:46,350 Entonces, el país ya sabemos que si el grupo está a este nivel, subimos un nivel más y obtenemos el atributo name, con lo cual ya tenemos el nombre y vamos a devolver una etiqueta que vamos a llamar ethnic group del país correspondiente con el nombre correspondiente y el porcentaje correspondiente. 7 00:00:46,350 --> 00:00:51,530 Bien, hasta aquí no habría mayor dificultad y lo obtenemos. 8 00:00:51,670 --> 00:00:55,670 Efectivamente empezamos en Albania y efectivamente tenemos la información que precisamos. 9 00:00:56,590 --> 00:00:59,250 Pero tendríamos otra estrategia que sería muy interesante. 10 00:00:59,609 --> 00:01:03,710 Si pudiéramos recorrer no todos los grupos étnicos de todos los países, 11 00:01:03,710 --> 00:01:08,109 sino para cada país su grupo étnico, podría ser más interesante. 12 00:01:09,530 --> 00:01:13,329 Algo que en programación normal se llama anidar for. 13 00:01:13,769 --> 00:01:15,510 Vale, pues vamos a intentar hacer eso. 14 00:01:16,349 --> 00:01:30,230 Vamos a determinar un for en el cual recorremos todos los países y dentro de esos países vamos a ver los grupos que hay dentro de ese país. 15 00:01:30,730 --> 00:01:36,730 Vale, pues vamos a hacer esto. Recorremos país y ahora obtenemos el grupo. 16 00:01:36,930 --> 00:01:44,909 No podemos aquí utilizar el id que nos vendría muy bien porque no está relacionado cada grupo étnico a través del id con su país. 17 00:01:45,590 --> 00:01:50,689 Entonces vamos a hacer un for dentro de este otro for y ahora vamos a devolver la misma información. 18 00:01:50,969 --> 00:01:54,150 Vamos a ver qué nos devuelve, si hay diferencias con esto de aquí. 19 00:01:56,079 --> 00:01:57,700 Bueno, pues vemos que es exactamente igual. 20 00:01:57,859 --> 00:02:03,140 Había 515 resultados antes, ahora hay 515 resultados y es idéntica la información. 21 00:02:04,120 --> 00:02:07,239 Sin embargo, esto no suele ser muy interesante tener información de esta manera, 22 00:02:07,459 --> 00:02:10,340 porque después para buscarla vamos a tener que recorrer varias cuestiones. 23 00:02:10,340 --> 00:02:16,060 Lo que nos gustaría sería agregarla para Albania, que sabrán todos sus grupos étnicos, 24 00:02:16,219 --> 00:02:23,199 así para cualquiera de ellas. Con lo cual, pues vamos a intentar aplicar esta idea de los dos for anidados 25 00:02:23,199 --> 00:02:30,319 para obtenerlo de forma agregada. Y vamos a ver que además podemos poner etiquetas en mitad de la información 26 00:02:30,319 --> 00:02:38,020 y agregar de verdad for. El primer for que tenemos es para cada país, exactamente lo mismo que teníamos antes, 27 00:02:38,319 --> 00:02:44,379 devolvemos una etiqueta country con el nombre de ese país, que la cerramos aquí, 28 00:02:44,379 --> 00:02:47,960 y ahora entre llaves ponemos el siguiente for 29 00:02:47,960 --> 00:02:51,479 con cada grupo étnico simplemente indicando su nombre 30 00:02:51,479 --> 00:02:53,120 y su porcentaje 31 00:02:53,120 --> 00:02:56,919 como pueden ver muy similar a lo que teníamos antes 32 00:02:56,919 --> 00:03:00,560 vamos a ver, tarda un poco más 33 00:03:00,560 --> 00:03:03,060 porque hace más informes, va a sacar más información 34 00:03:03,060 --> 00:03:07,379 y en este momento tenemos la misma información que antes 35 00:03:07,379 --> 00:03:08,740 pero agrupada 36 00:03:08,740 --> 00:03:13,419 con lo cual ya vemos la utilidad de tener for anidados