Одним из способов решения этой проблемы было бы создание отдельных таблиц сопоставления для представления взаимосвязей между, с одной стороны, изображениями и обработками, а с другой стороны - изображениями и клиентами.
create table pictures_treatments(
idPicture int,
idTreatment int,
primay key(idPicture),
foreign key (idPicture) references t_pictures(idPicture),
foreign key (idTreatment) references t_treatment(idTreatment)
);
create table pictures_clients(
idClient int,
idTreatment int,
primay key(idPicture),
foreign key (idPicture) references t_pictures(idPicture),
foreign key (idClient) references t_client(idClient)
);
При этом после установки вы можете легко восстановить изображение, связанное с лечением или клиентом, с двумя левыми соединениями:
select t.*, p.picPath
from t_treatments t
left join pictures_treatments pt on pt.idTreatment = t.idTreatment
left join t_pictures p on p.idPicture = pt.idPicture;
select c.*, p.picPath
from t_clients t
left join pictures_clients pc on pc.idClient = c.idClient
left join t_pictures p on p.idPicture = pt.idPicture