1
00:00:00,480 --> 00:00:05,490
Entonces vamos a colocar aquí vamos a cómo hacemos para recorrer la tabla bueno la recorremos con un

2
00:00:06,510 --> 00:00:09,560
con un bucle huaylarsh vamos a colocar Weyl.

3
00:00:10,090 --> 00:00:21,510
Si guai para poder recorrer él esta tabla vamos a necesitar una variable una variable de tipo entero

4
00:00:22,130 --> 00:00:29,490
que va a ser el seguimiento por el campo Identity de la tabla por el campo ahí entonces lo vamos a hacer

5
00:00:29,490 --> 00:00:42,150
vamos a declarar de Clear arroba por ejemplo vamos a poner y qué va a hacer un entero y aquí le decimos

6
00:00:42,930 --> 00:00:51,420
mientras si Weyl arroba y sea menor o igual a qué.

7
00:00:51,960 --> 00:01:00,140
Al total de registros de que existen en la tabla turnos 12 vamos a hacer cómo tenemos el total y total

8
00:01:00,130 --> 00:01:06,120
lo que tenemos con Select Count asterisco.

9
00:01:06,200 --> 00:01:15,990
Contamos el total de registros from arroba turnos

10
00:01:21,110 --> 00:01:27,410
si y ahora colocamos la estructura de bloque Veguín.

11
00:01:27,820 --> 00:01:35,180
Para poder procesar todo y vamos a comenzar.

12
00:01:35,180 --> 00:01:45,280
Si esto lo que hace es el Weyl el Weyl se va a ejecutar mientras mientras y sea menor o igual al total

13
00:01:45,670 --> 00:01:48,320
de registros que existe en la tabla temporal.

14
00:01:48,400 --> 00:02:01,630
Para ello necesitamos inicializar la variable arroba y en 1 y también vamos a necesitar incrementar

15
00:02:03,280 --> 00:02:08,850
el valor de esa variable cada vez que tenemos por ese wey.

16
00:02:08,870 --> 00:02:15,150
Entonces vamos a colocar a select set Array

17
00:02:18,400 --> 00:02:19,360
y le voy a colocar

18
00:02:22,210 --> 00:02:27,270
arroba y +1.

19
00:02:27,390 --> 00:02:34,290
Con esto lo que hacemos es incrementar el valor de la variable en un valor cada vez que damos una vuelta

20
00:02:34,890 --> 00:02:37,170
por el bucle guay.

21
00:02:37,470 --> 00:02:45,840
Bien entonces vamos a recorrer esta tabla temporal cómo la recorremos de la siguiente manera Lo que

22
00:02:45,840 --> 00:02:53,790
vamos a preguntar es si en esta tabla el registro el primer registro sigue vamos a obtener como obtenemos

23
00:02:53,790 --> 00:03:05,340
el primer registro viene haciendo un Select Asterisco from arroba turnos Wer el campo Heydi será igual

24
00:03:07,170 --> 00:03:12,330
arroba y que en este momento vale 1 si.

25
00:03:12,920 --> 00:03:19,020
Entonces lo que hacemos aquí es acceder al primer registro de la tabla temporal y lo que tenemos que

26
00:03:19,020 --> 00:03:30,990
hacer aquí es preguntar por ejemplo si este es el primer registro de la tabla temporal pertenece al

27
00:03:30,990 --> 00:03:32,440
paciente número 8.

28
00:03:32,500 --> 00:03:33,520
Cómo preguntamos.

29
00:03:33,800 --> 00:03:40,260
Bueno lo que podemos hacer aquí es declarar otra otra variable sí

30
00:03:43,620 --> 00:03:53,430
o directamente para evitar declarar tantas variables lo vemos osar preguntar ponemos if Chi y aquí lo

31
00:03:53,430 --> 00:04:00,140
que colocamos es de paciente y de paciente.

32
00:04:01,200 --> 00:04:14,880
Si por ejemplo este es resultado de su QWERTY y de paciente es igual a 8 si el turno este turno es del

33
00:04:14,880 --> 00:04:23,980
paciente 8 lo que estoy preguntando aquí entonces lo que voy a hacer es en realidad lo que tengo que

34
00:04:23,980 --> 00:04:26,500
hacer es conservar este registro.

35
00:04:26,690 --> 00:04:32,910
Si si si el registro del paciente 8 lo que te va a hacer es conservarlo.

36
00:04:33,520 --> 00:04:40,870
Pero lo que vamos a hacer es directamente vamos a buscarlo por el contrario entonces sí si el paciente

37
00:04:41,980 --> 00:04:48,040
es distinto de 8 es decir si el turno de este no es del paciente 8 entonces lo que voy a hacer es borrar

38
00:04:49,420 --> 00:04:51,270
este registro.

39
00:04:51,280 --> 00:05:01,650
Voy a hacer un delete from arroba turnos Wer ideé sea igual

40
00:05:04,730 --> 00:05:12,980
arroba y entonces lo que hacemos aquí es borrar ese registro que no pertenece al al paciente.

41
00:05:13,110 --> 00:05:16,080
8 estamos borrando exactamente ese registro.

42
00:05:16,100 --> 00:05:25,610
Por qué estamos accediendo por la ELA por el Identity del campo Heydi de la tabla temporal únicamente

43
00:05:25,940 --> 00:05:27,100
ese registro.

44
00:05:27,480 --> 00:05:33,860
Bueno y si es del paciente 8 no hacemos nada así que esto en principio ya estaría bien y lo que hace

45
00:05:33,860 --> 00:05:38,980
es continuar con el Weyl hasta llegar al final y cuando termina sale.

46
00:05:39,020 --> 00:05:46,400
Entonces vamos a realizar un selector aquí debajo de la tabla temporal

47
00:05:49,070 --> 00:05:52,850
en turnos y vamos a ejecutar todo.

48
00:05:53,190 --> 00:06:01,650
Ahora que sucede me dice que tengo que declarar la variable de turno me equivoqué acá.

49
00:06:01,770 --> 00:06:14,060
Ahora si vamos a ejecutar y ahí me devolvió el resultado fíjense que me dejó y de paciente 8 y me dejó

50
00:06:14,960 --> 00:06:20,680
el 9 vamos a saber por qué vamos a por qué hizo esto.

51
00:06:20,780 --> 00:06:26,560
Fijense porque lo que está pasando aquí es que como yo estoy borrando registros de la tabla cuando vuelva

52
00:06:26,560 --> 00:06:32,030
a iterar y realiza alcahuetas nuevamente la cantidad de registros es menor.

53
00:06:32,030 --> 00:06:37,250
Entonces ya no llega a esa cantidad de registros que tiene que recorrer.

54
00:06:37,250 --> 00:06:45,110
Entonces lo que vamos a hacer aquí vamos a declarar otra variable más que va a ser el total vamos a

55
00:06:45,110 --> 00:06:50,210
colocar total de tipo entero y le vamos a asignar

56
00:06:54,960 --> 00:07:02,010
al valor le vamos a asignar esta misma este mismo su cuadri es global después lo vamos a reemplazar

57
00:07:02,010 --> 00:07:07,030
aquí abajo por la variable aquí le vamos a colocar total.

58
00:07:07,050 --> 00:07:15,510
Entonces ahora sí ahora no vamos a tener ese inconveniente que tuvimos antes vamos a ejecutarlo nuevamente

59
00:07:15,510 --> 00:07:17,140
a ver si así funciona.

60
00:07:19,290 --> 00:07:26,290
Y fíjense ahora si me dejó los registros correspondientes al paciente ocho bien lo que vamos a hacer

61
00:07:26,290 --> 00:07:31,060
ahora es seleccionar seleccionar

62
00:07:34,360 --> 00:07:41,410
todos los registros de la tabla paciente si vamos a colocarle un alias y lo que vamos a hacer aquí le

63
00:07:41,410 --> 00:07:53,530
vamos a colocar un INER Yong con la tabla temporal que estuvimos filtrando dentro del bucle Weyl aquí

64
00:07:53,530 --> 00:08:01,630
le vamos a colocar la tabla turnos que vamos a perder un alias y lo vamos a conectar por los campos

65
00:08:02,350 --> 00:08:07,540
que tiene el que tiene esa tabla que es de paciente

66
00:08:11,980 --> 00:08:18,600
y lo vamos a conectar con el campo de paciente de la tabla paciente.

67
00:08:19,180 --> 00:08:24,890
Ahí está entonces vamos a ejecutar vamos a ejecutar todos los scripts

68
00:08:27,930 --> 00:08:39,260
me faltó el on perfecto así vamos a ejecutar todo el script y vamos a ver que retorna fíjense hoy retorna

69
00:08:39,740 --> 00:08:48,980
el total de la tabla pacientes seguí conectado por la tabla temporal y me devuelve únicamente el paciente

70
00:08:48,980 --> 00:08:50,930
8 con todos sus datos.

71
00:08:51,140 --> 00:08:52,850
Está bien entonces correcto.

72
00:08:52,910 --> 00:08:59,610
Fíjense lo que hicimos aquí es alivianar un poco el Selex principal en este caso el Cele que es muy

73
00:08:59,610 --> 00:09:06,740
muy pequeño no nos insume muchos recursos pero en determinado momento de la consulta se puede hacer

74
00:09:06,740 --> 00:09:13,670
muy grande y lo que hacemos con esto es realizar un niño Yeung con una tabla temporal más pequeña más

75
00:09:13,670 --> 00:09:14,850
reducida.

76
00:09:14,850 --> 00:09:22,600
Si en vez de estar haciendo una inmersión con la tabla de turnos que puede puede tener muchos registros

77
00:09:22,610 --> 00:09:27,570
entonces lo que hace eso es afectar bastante la performance.

78
00:09:27,570 --> 00:09:33,530
Con esto lo que estamos haciendo es justamente lo contrario es mejorar la performance y obtener un resultado

79
00:09:33,530 --> 00:09:34,450
mucho más rápido.
