- 27/06 segunda practica consultas - 10/07 Preasentacion de modelo de informe y base de datos -------------------------------------------------------------------------------- ----------------------------------------------------------- 1- Realizar una consulta que me permita mostrar los pasientes registrados en la bd del sistema instituto salud. 2- Implementar una consulta que me permita mostrar las obras sociales que se encuentran registradas en el sistema del instituto salud y si estas pertence al sector publico o privado 3- realizar una cosulta que me permita ver con cuantos medicos cuenta el instituto 4- realizar una cionsulta que m e muestre los pasientes ordenados por fecha de n acimiento (del mas actual hacio atras); 5- realizar una consulat que me muestre las citas que se na reservado, indicar a que pasiente corresponde y si paso consulta o no 6-realizar una consulta que me permita mostrar los medicos y a que especialidad pertenecen, ordenar alfabeticamente 7-implemntar una consukltaque me m uestre que empleados cuentan con usuario para acceder al sistema 8-implementar una consulta que me permita saber por distrito, provincia, dpartam ento cuantos pacientes se encuentran registrados en la bd del instituto de salud 9- implemntar una consulta que me permita saber las citas que fueron atendidas, a que paciente pertenecen, de donde proviene dicho paciente que tipo de obra soo cial tiene, por que medico seras atendido, la especialidad y el turno 10- de la consulta anetrior uindicar que siontomoas se encontraron para cada pac iente 11-realizar una busqueda de pacientyes que suis apellidos inicein con G 12-realizar unna consulta que me muestre a los pacientes cuya fecha de naciemien to se encuentre entre el ao 2000 - 2014 SOLUCION USE bdinstituto_salud; show tables; SELECT*FROM cita; -- Consulta 1 Realizar una consulta que me permita mostrar los pasientes registr ados en la bd del sistema instituto salud. SELECT CONCAT(apeliidos,'',nombres) AS Paciente, num_doc AS 'Numero de documento ',fec_nac AS 'Fecha de nacimiento' FROM paciente; -- Consulta 2 Implementar una consulta que me permita mostrar las obras sociales que se encuentran registradas en el sistema del instituto salud y si estas pertence al sector publico o privado SELECT os.nombre AS 'Nombre de seguro', ts.tipo AS 'Tipo de seguro' FROM obra_so cial os,tipo_seguro ts WHERE os.idtipo_seguro=ts.idtipo_seguro; -- Consulta 3 Realizar una cosulta que me permita ver con cuantos medicos cuenta el instituto SELECT COUNT(*) AS 'Cantidad de medicos' FROM medico; -- Consulta 4 Realizar una consulta que me muestre los pacientes ordenados por fecha de nacimiento (del mas actual hacia atras); -- Para ordenar paciente de forma ascendente y a la vez fecha de forma descendente SELECT CONCAT(apeliidos,' ',nombres) AS Paciente, num_doc, fec_nac FROM paciente ORDER BY paciente ASC ,fec_nac DESC; -- Para ordenar paciente de forma ascendente y a la vez fecha de forma descenden te y a su vez mostrar solo los 2 primeros registros SELECT CONCAT(apeliidos,' ',nombres) AS Paciente, num_doc, fec_nac FROM paciente ORDER BY paciente ASC ,fec_nac DESC LIMIT 0,2; -- Consulta 5 Realizar una consulta que me muestre las citas que se an reservado, indicar a que pasiente corresponde y si paso consulta o no SELECT c.idcita AS 'Numero de citas', c.fec_cita AS 'Fecha de cita', c.estado_cita AS 'Estado de la cita', p.nombres FROM cita c, paciente p WHERE c.idpaciente=p.idpaciente AND estado_cita='ATENDIDO'; -- consulta 6 Realizar una consulta que me permita mostrar los medicos y a que esp ecialidad pertenecen, ordenar alfabeticamente SELECT m.nombres AS Nombre ,e.nombre AS Especialidad FROM medico m,especialidad e, especialidad_has_medico ehm WHERE m.idmedico=ehm.idmedico AND e.idespecialida d=ehm.idespecialidad ORDER BY m.nombres ASC; -- consulta 7 Implementar una consulta que me muestre que empleados cuentan con usuario para acceder al sistema SELECT u.login,e.nombres FROM empleado e, usuario u WHERE e.idempleado=u.idemple ado AND estado=1; -- consulta 8 Implementar una consulta que me permita saber por distrito, provin cia, departamento cuantos pacientes se encuentran registrados en la bd del insti tuto de salud SELECT COUNT(*) AS Paciente FROM paciente p, distrito d, provincia pr, departame nto de WHERE p.iddistrito=d.iddistrito AND d.idprovincia=pr.idprovincia AND pr.i ddepartamento=de.iddepartamento; -- Colusta 9 Implemntar una consulta que me permita saber las citas que fueron a tendidas, a que paciente pertenecen, de donde proviene dicho paciente que tipo d e obra social tiene, por que medico seras atendido, la especialidad y el turno SELECT c.estado_cita AS 'Estado de la cita',c.idcita AS 'Numero de cita',CONCAT( p.nombres,' ',p.apeliidos) AS 'Paciente', CONCAT(d.nombre_dist,' / ',pr.nombre_p rov,' / ',de.nombre_dep) AS 'Distrito/Provincia/Departamento',os.nombre AS 'Nomb re de seguro',ts.tipo AS 'Tipo de seguro',CONCAT(m.nombres,' ',m.apellidos) AS ' Medico', e.nombre AS 'Especialidad',t.num_turno AS 'Numero de turno' FROM cita c,paciente p,distrito d,provincia pr,departamento de, obra_social os, tipo_seguro ts,esp_med_has_dia_hor emhdh, especialidad_has_medico ehm, medico m, especialidad e, dia_has_horario dhh, horario h, turno t WHERE estado_cita='atendido' AND (c.idpaciente=p.idpaciente AND d.iddistrito=p.i ddistrito AND pr.idprovincia=d.idprovincia AND de.iddepartamento=pr.iddepartamen to AND os.idobra_social=p.idobra_social AND ts.idtipo_seguro=os.idtipo_seguro AN D c.idturno_asignado=emhdh.idturno_asignado AND emhdh.idespecialidad=ehm.idespec ialidad AND emhdh.idmedico=ehm.idmedico AND ehm.idmedico=m.idmedico AND ehm.ides pecialidad=e.idespecialidad AND emhdh.iddia=dhh.iddia AND emhdh.idhorario=dhh.id horario AND h.idhorario=dhh.idhorario AND t.idturno=h.idturno); -- Consulta 10 De la consulta anterior indicar que sintomas se encontraron para cada paciente SELECT c.estado_cita AS 'Estado de la cita',c.idcita AS 'Numero de cita',CONCAT( p.nombres,' ',p.apeliidos) AS 'Paciente', CONCAT(d.nombre_dist,' / ',pr.nombre_p rov,' / ',de.nombre_dep) AS 'Distrito/Provincia/Departamento',os.nombre AS 'Nomb re de seguro',ts.tipo AS 'Tipo de seguro',CONCAT(m.nombres,' ',m.apellidos) AS ' Medico', e.nombre AS 'Especialidad',t.num_turno AS 'Numero de turno', s.sintoma AS 'Sintomas' FROM cita c,paciente p,distrito d,provincia pr,departamento de, obra_social os, tipo_seguro ts,esp_med_has_dia_hor emhdh, especialidad_has_medico ehm, medico m, especialidad e, dia_has_horario dhh, horario h, turno t,consulta co,consulta_ha s_sintoma chs,sintoma s WHERE estado_cita='atendido' AND (c.idpaciente=p.idpaciente AND d.iddistrito=p.i ddistrito AND pr.idprovincia=d.idprovincia AND de.iddepartamento=pr.iddepartamen to AND os.idobra_social=p.idobra_social AND ts.idtipo_seguro=os.idtipo_seguro AN D c.idturno_asignado=emhdh.idturno_asignado AND emhdh.idespecialidad=ehm.idespec ialidad AND emhdh.idmedico=ehm.idmedico AND ehm.idmedico=m.idmedico AND ehm.ides pecialidad=e.idespecialidad AND emhdh.iddia=dhh.iddia AND emhdh.idhorario=dhh.id horario AND h.idhorario=dhh.idhorario AND t.idturno=h.idturno AND c.idcita=co.id cita AND co.idconsulta=chs.idconsulta AND chs.idsintoma=s.idsintoma); -- Consulta 11 Realizar una busqueda de pacientes que sus apellidos inicien con G SELECT CONCAT(apeliidos,' ',nombres) AS 'Pacientes' FROM paciente WHERE apeliido s LIKE 'G%'; -- COnsulta 12 Realizar una consulta que me muestre a los pacientes cuya fecha d e naciemiento se encuentre entre el ao 2000 - 2014 SELECT CONCAT(nombres,' ',apeliidos) AS Paciente, fec_nac AS 'Fecha de nacimient o' FROM paciente WHERE fec_nac BETWEEN '2000-01-01' AND '2014-12-31'; -- Consulta 13 Implementar una consulta que me permita mostrar que especialidade s aun no han sido asignados a un determinado medico. SELECT m.nombres,e.nombre FROM especialidad_has_medico ehm INNER JOIN medico m ON m.idmedico=ehm.idmedico RIGHT JOIN especialidad e ON ehm.idespecialidad=e.idespecialidad;