SQL использует AND, чтобы найти два значения в столбце - PullRequest
0 голосов
/ 06 сентября 2018

Я новичок в SQL и у меня есть небольшая проблема. Я пытаюсь

найти имена всех пациентов в этой базе данных, которые страдают от бессонницы и кашель

(это для школы, так что не волнуйтесь, никакие настоящие люди не пострадали от моей некомпетентности).

Для этого я написал:

 SELECT patientName 
   FROM Patient 
  WHERE patientID IN (SELECT patientID 
                        FROM Suffers 
                       WHERE illnessName LIKE '%Insomnia%' 
                         AND illnessName LIKE '%Cough%')

Когда я выполняю его, я не получаю никаких результатов (у меня есть пустой курсор). Это проблема, потому что я знаю, есть один пациент в БД с обоими этими заболеваниями. Что я делаю не так?

Кстати, я должен использовать оператор AND здесь, который, кажется, является смыслом этого упражнения.

Благодарен за любую помощь:)

1 Ответ

0 голосов
/ 06 сентября 2018

Вы должны проверить patientID дважды ; Ваш запрос отредактирован:

 SELECT patientName 
   FROM Patient 
  WHERE patientID IN (SELECT patientID FROM Suffers WHERE illnessName LIKE '%Insomnia%')  
    AND patientID IN (SELECT patientID FROM Suffers WHERE illnessName LIKE '%Cough%')  

Теперь patientID принадлежит Бессоннице и Кашель Suffers

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...