Предложение SQL Where, возвращающее несколько результатов - PullRequest
0 голосов
/ 23 мая 2011

У меня есть оператор SQL с несколькими условиями в предложении WHERE, однако после выполнения одного условия запрос останавливается. Мне нужно, чтобы запрос возвратил ВСЕ строки, относящиеся к одному из условий.

Например:

select * from EMPLOYEE_LEAVE
where
   ENUMBER = :num
   or
   EFNAME = 'Sebastien'
   or 
   ESNAME = :sname 

В этом случае запрос должен искать все записи, где EFNAME - это Себастьен. У меня есть две записи в моей базе данных, которые соответствуют этому условию, однако запрос возвращает только первый результат. Как мне показать ВСЕ записи, соответствующие этому условию?

Ответы [ 3 ]

0 голосов
/ 23 мая 2011

Возможно, в имени Себастьяна Смита есть специальный символ, который не сразу виден в используемом вами инструменте.(например, Себастьян)

0 голосов
/ 24 мая 2011

Хорошо, я обнаружил проблему.

Database Workbench не обновляет окно редактора SQL при внесении изменений в базу данных.Мне пришлось закрыть редактор SQL и снова открыть его для редактора, чтобы увидеть изменения, я заметил это из комментариев @ N-West и @Tim (оба запроса, кстати, ребята, возвращали только одну строку).

Спасибо за все ваши ответы:)

0 голосов
/ 23 мая 2011

SQL вернет все строки, соответствующие вашим условиям.если вы получаете только первую строку, то это не проблема SQL, а одна из ваших задач программирования переднего плана.Дайте примеры вашего кода, и мы ответим, что вы сделали неправильно.

...