En esta clase vamos a crear un estor proseguir para obtener los turnos de un paciente así que vamos
a vamos a crear un nuevo archivo en la carpeta Aquaris.
Vamos vamos a darle clic derecho New Cuadri y vamos a cambiarle el nombre al archivo que me acaba de
generar y le vamos a colocar siguiendo más o menos la misma nomenclatura que los anteriores.
Vamos a colocar
Select
turnos paciente y le damos enter y ahí ya tenemos el archivo creado.
Vamos a vamos a utilizar este archivo creamos recién y vamos a colocar la sentencia criadita Proclo
y vamos a generar el archivo el prosiguió con la misma nomenclatura que venimos creando hasta el momento
así que lo que la nomenclatura le veníamos dando era lo que hacía el Estado prosiguió.
En este caso en el caso de las altas colocábamos alta y aquí vamos a colocar vamos a colocar select
y un bajo turnos paciente.
Aquí vamos a colocar los parámetros.
Seguimos con la estructura normal
le colocamos no como botón para que no me realice la cuenta de registros y si me traiga el resultado
de la consulta aquí vamos haciendo los parámetros que va a recibir el lector qué parámetro va a recibir
este señor.
Primeramente va a recibir el Iris del paciente que nosotros vamos a querer obtenerlos los turnos que
tiene ese paciente.
Entonces vamos a colocar arroba y del paciente el tipo de dato de esta variable ya lo tenemos definido
como tipo de otro usuario es paciente y primeramente con este cambio nos basta para hacer la consulta
de los turnos aquí abajo vamos a colocar la consulta Select.
Vamos a ver asterisco from y vamos a obtener los turnos los tenemos almacenados en la tabla turnos la
tabla turno y la tabla de turno paciente recuerdan que fueron las tablas que estuvimos creando así que
vamos a hacer un Cele para eliminar de la tabla turno.
Copiamos pegamos y de la tabla paciente simplemente para ver la estructura que tiene la tabla de turno
tienen las propiedades del turno en y la tabla turno paciente tiene la relación del paciente con el
médico y es el turno entonces lo que vamos a hacer vamos a hacer un selector de la tabla.
Turno si le vamos a colocar un alias vamos a colocarle la letra T y creo que tenemos que hacer tenemos
que traer los datos de la tabla.
Turno paciente también y además de la tabla paciente necesitamos conectar esas tres tablas para obtener
los datos del turno del paciente.
Entonces vamos a hacer uso de la cláusula y no hay que estuvimos viendo anteriormente así que vamos
a colocar aquí INER son
por paciente
le vamos a ver un alias TEP
y en la conexión de los campos vamos a colocar Tepe punto y de turno.
Igual este punto y de todo.
Y ahora vamos a colocar un aún vamos a colocar otra otra conexión más con otro campo de la tablet vamos
a Broda TP que necesitamos saber necesitamos saber de ese turno el paciente que nos ha ayudado como
parámetro Néstor entonces vamos a colocar Tepe y de paciente.
Si aquí podríamos colocar directamente la variable de paciente pero ahora lo vamos a corregir porque
es necesario traer los datos del paciente.
Entonces también tendríamos que hacer una inmersión con la tabla paciente
entonces vamos a colocar vamos a colocar otro y no hay.
Nosotros podemos utilizar tantos inhale Yeung left o Ray joined como necesitemos en la consulta no tenemos
una limitación de John's así que podamos utilizar los que creamos necesario y siempre evitar las repeticiones
de no estar haciendo el Yonny con una tabla que ya la estoy haciendo en el izquierdo más abajo no aquí
vamos a colocar pacientes que colocamos el Aldape
y vamos a hacer un selector de la tabla
paciente el que tenemos en paciente tenemos el campo opriman que es de paciente entonces aquí vamos
a soñar Vamos a conectora p y de paciente.
Si con el alias de Pe Punto y de paciente fijense me lo está marcando en rojo porque me lo está marcando
el rojo este es un error muy común que nos sucede cuando estamos haciendo una consulta y utilizando
Viner regions porque me lo está marcando en rojo porque como el INEN en el primer incursionen es delatado
a la paciente y el segundo de la tabla turno paciente.
Cómo está en este orden.
No me reconoce el alias de la tabla de turno paciente por qué no me lo reconoce porque el INEN leyó
en esta después.
O sea que el orden de los Osinergmin es muy importante porque nos va a permitir acceder a algunos campos
de los campos de las otras tablas de manera de cascada.
O sea que no podemos conectar un campo con un campo de otra tabla el cual es linear Yuen se encuentra
más abajo siempre ese campo tiene que estar tiene que estar antes esa tabla tienen que estar antes de
la conexión que estoy haciendo entonces lo que tenemos que hacer aquí es pasar
el turno paciente pasarlo hacia arriba fíjense como hoy me marca como error porque ahora así lo está
encontrando el campo porque está arriba el alias.
Entonces
otra cosa que tenemos que tener en cuenta es que lo ideal siempre es en la cláusula on cuando hacemos
las conexiones con los campos sean igualados directamente por los campos de la otra tabla y no por una
variable como estamos haciendo aquí.
Entonces para solucionar esto no podríamos colocar aquí por ejemplo punto y de paciente porque estaríamos
incurriendo en el error anterior.
Estamos en Dios en la misma porque la tabla paciente no la encuentra porque está debajo entonces lo
que tenemos que hacer aquí es como como la tabla paciente prácticamente depende de las dos tablas de
turno y de turno paciente y es la tabla en la que me llega el parámetro de paciente si el cual voy a
hacer la consulta lo voy a colocar como tabla principal en el cerebro voy a colocar asterisco from paciente
y ahí sí voy a hacer el inverso.
Con la tabla de turno
turno le voy a colocar al
perdón on the punto y de
la tabla turno paciente
en el turno paciente y Canelón lo voy a colocar Tepe punto y de paciente y casi le coloco igual de punto
y de paciente
y ahora sí hay INER Cheung con la tabla turno y aquí si coloco on the punto y de turno si ahora tranquilamente
puedo colocar de P.N y de turno porque esta ya estaba arriba si pueblo le colocó un punto y de paciente
Losey neo con el campo de la tabla paciente y de paciente si me falta un campo más que es el campo del
especialista.
Si yo quisiese traer el nombre del especialista que va a atender a ese paciente tendría que hacer otro
Yeung por la tabla
médico especialidad.
Aquí tenemos el médico y la especialidad.
Entonces bien a enemigo soy con la tabla médico especialidad le colocamos el alias m y vamos a hacer
on M.
Punto de médico y lo igualo con con la tabla.
Turno paciente
dónde tengo Helien médico.
Vamos a borrar lo que agregamos anteriormente.
Y fíjense esta consulta.
Esto lo vamos a comentar para que no nos confunda.
Fíjense esta consulta vamos a ejecutarla así como está y no nos está devolviendo nada.
Hay una conexión que estamos haciendo mal.
Vamos a revisar turno paciente paciente y paciente.
Vamos a hacer se le ataca a ver qué nos devuelve fijense y nos devuelve datos ahí sí nos devolverá a
dos
de un paciente que tiene turnos pero no nos está llenando.
No nos está conectando con la tabla médico especialidad por qué.
Vamos a ver por qué.
Y de médico tengo en el turno tengo uno en la tabla médico especialidad y de médico tengo tres.
No existe este médico por eso está esta consulta nos está arrojando cero registros.
Entonces vamos a vamos a insertar un registro en la tabla médico especialidad
balidos y le vamos a colocar de médico uno y de especialidades dos ni la especialidad
médico clínico ahora sí vamos a ejecutar nuevamente la consulta y ahora sí nos devuelve el resultado
de todos los niños.
Fíjense que como yo le coloque asterisco aquí adelante el resultado es que me obtiene todos los campos
de las tres tablas involucradas en la consulta y que serían cuatro tablas perdón estaba la paciente
la tabla de turno paciente la tabla turno y la tabla médico especialidad no obtiene todos los campos
de esas cuatro tablas.
Ahora qué es lo que me está faltando algo muy importante aquí es filtrar por el Heydi paciente que hemos
enviado prosiguió.
Entonces lo que tenemos que hacer al final de todo esto consulta es colocarle un Wer donde Pe Punto
de paciente va a ser igual a la variable de paciente que está llevando como parámetro entonces siempre
tener en cuenta que en el Wer colocamos la condición principal es decir lo que estamos buscando en este
caso es el Heydi de paciente y tener en cuenta de todas las cláusulas ón de los gunners Yeung hacer
las conexiones entre campos entre campos de una tabla con otra y no con variables alejarlas las variables
parola y la condición Wer entonces esto lo vamos a lo vamos a guardar ya lo guardamos ya creamos el
lector procedure y aquí arriba lo vamos a testear vamos a poner exec Select
turno paciente y vamos a pasar como parámetro la Airy de paciente 6 que es el paciente que existe como
en las tablas así que vamos a ejecutar está mal escrito es turnos turnos paciente vamos a ejecutarlo
y fíjense que está funcionando correctamente me devuelve todos los datos de los turnos referidos a ese
paciente.