Twoje dwa zewnętrzne zapytania są skonstruowane tak, aby oczekiwać jednego wyniku z ich podzapytań. Ale sposób, w jaki masz strukturę, Twoje podzapytania mogą zwracać więcej niż jeden wynik. Jeśli rzeczywiście chcesz więcej niż jeden wynik, zmień go w ten sposób:
... where disease_id IN (subquery returning multiple rows...)
Ponadto podzapytania zmniejszają wydajność i są wykładniczo gorsze w przypadku podzapytań zagnieżdżonych. Możesz zajrzeć do używania INNER JOIN
zamiast tego.