Buenas tardes elwebdeguate:
Aquí todo depende de tu modelo de datos para definir la forma en que vas a hacer tus consultas. Por un lado me imagino que tienes una tabla Médicos y Otra tabla Pacientes. La cardinalidad entre estas tablas es n a m (muchos a muchos) ya que una persona puede ser consultada por uno o más médicos y un médico a su vez puede atender a uno o más pacientes. De aquí se desprende que tienes que crear una nueva tabla donde almacenes las relaciones. Con datos sería así
Código:
Tabla Doctores
idDoctor|Nombre|Especialidad
----------------------------------------
1|Doctor X|Medicina Familiar
2|Doctor Y|Cardiología
3|Doctor Z|Traumatología
Tabla Pacientes
idPaciente|Nombre
-------------------------
97|Paciente A
98|Paciente B
99|Paciente C
Tabla Pacientes_Doctores
idP_D|idPaciente|idDoctor
----------------------------
1|97|1
2|98|1
3|97|2
4|97|3
5|98|3
6|99|3
Esto quiere decir que el paciente A es tratado por los médicos X, Y y Z, el paciente B es tratado por el médico A y el C y el paciente C es tratado sólo por el médico C.
Dependiendo del médico que acceda al sistema, al consulta para obtener los pacientes que atiende dicho médico sería más o menos así:
Código SQL:
Ver originalSELECT * FROM Pacientes P WHERE EXISTS (SELECT * FROM Pacientes_Doctores P_D
WHERE P_D.idDoctor = 3 AND P.idPaciente = P_D.idPaciente)
En este caso se están consultando los pacientes del doctor Z (idDoctor = 3).
Saludo
Leo.