MySQL - Realizar consulta tres tablas, una tabla contiene "opciones"

   
Vista:

Realizar consulta tres tablas, una tabla contiene "opciones"

Publicado por elpelado (2 intervenciones) el 16/11/2017 16:31:59
Buenos dias como andan? Luego de estar buscando y leyendo mil cosas he decidido solicitar ayuda a uds.

Tengo tres tablas las cuales debo realizar consultas entre ellas (una tabla denominada prescriptions ,patient_data y la otra listo_options) el tema es que no se como lograr obtener la consulta que me devuelva todos los tatos correspondientes a la tabla patient_data con los datos que corresponden referentes a la tabla list_options en base a lo que esta cargado en la tabla prescriptions.

Por ejemplo tengo un paciente con sus datos que el medico le ha prescripto una pastilla la cual esta en blister de 6 y es toma via oral ciertos datos se almacenan en la tabla prescriptions. Entonces lo que quiero es obtener la consulta que contenga datos de la tabla patient_data y que me indique que medicamento le prescribio el doctor esto esta en la tabla prescriptions, si es pastilla, si es pomada, cantidad y la via de adminitracion, pero en la tabla prescriptions por ejemplo tengo un valor form 1 que seria un valor puntual en la tabla list_options el cual seria por ejemplo el valor "via de adminitracion"

Aqui adjunto el contenido de las tablas para que vean lo que me refiero y no logro realizar.


Tabla prescriptions
prescriptions

Tabla patient_data
patient_data

Tabla list_options
list_options


La consulta que estoy intentando realizar es:

select `prescriptions`.`drug` AS `Producto`,`prescriptions`.`start_date` AS `Fecha de Entrega del Producto`,`prescriptions`.`quantity` AS `Cantidad`,`prescriptions`.`refills` AS `Cantidad Entregada`,`prescriptions`.`note` AS `Nota` from (.`prescriptions` join `list_options`) where (`list_options`.`option_id` = `prescriptions`.`form`) group by `prescriptions`.`patient_id`

Logro obtener los datos de los pacientes pero no los datos valores que necesito de la tabla list_options en base a lo que tengo cargado en la tabla prescriptions.

Desde ya agradezco la ayuda.

Disculpen las molestias
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

Realizar consulta tres tablas, una tabla contiene "opciones"

Publicado por jorge (2 intervenciones) el 16/11/2017 17:01:05
No tiene cuando darte ese Query, pues las estructuras están mal creadas, porque no hay relación entre Prescriptions y List_Options, si bien ésta última cuenta con el enlace de Patient_Id, para saber a que paciente se refiere, no existe así la relación con List_Options, luego es imposible saber que tipo de administración le recetaron (Oral, Inyectable, etc).
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

Realizar consulta tres tablas, una tabla contiene "opciones"

Publicado por elpelado (2 intervenciones) el 16/11/2017 17:05:37
Gracias por la respuesta Jorge, pero por ejemplo en la tabla prescriptions el campo form hace referencia al valor de la tabla list_options que seria tabletas (lo que a mi me serviria obtneer en la consulta)

Aclaro que soy re novato en esto y las tablas y este tema me lo asignaron a mi osea ya estaba creada las tablas etc.

Disculpa las molestias Gracias
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

Realizar consulta tres tablas, una tabla contiene "opciones"

Publicado por jorge (2 intervenciones) el 16/11/2017 17:11:50
Pues has debido aclarar cuales son los enlaces, es una mala práctica llamarlos diferente, porque eso lleva a confusiones.

Siendo así puedes probar con: INNER JOIN list_options LE ON LE.list_id = PR.form

Donde PR es un alias para la estructura: Prescriptions
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