Здравствуйте, я пытаюсь разработать, казалось бы, простой отчет, в котором кто-то может ввести идентификационный номер или имя, а также искать и извлекать данные. Я могу заставить это работать, только если у меня есть все критерии, и я попробовал пару разных способов. Каждый из первых, последних и идентификаторов - это поля для заполнения или оставления пустых. Не тратя много места, вот что я по существу сделал, может ли кто-нибудь помочь?Запрос на объединение по ID или имени
Союз:
Select
worker_id as "ID",
worker_last_name as "Last",
worker_first_name as "First",
worker_phone_home as "Home_Phone",
worker_email as "Email"
from worker
where worker_id = :parm_EB_pnum --inputvalue
UNION
Select
worker_id as "ID",
worker_last_name as "Last",
worker_first_name as "First",
worker_phone_home as "Home_Phone",
worker_email as "Email"
from worker
where (
upper(worker_first_name) like upper(:parm_EB_first) and
upper(worker_last_name) like upper(:parm_EB_last)
)
Это я также попытался использовать = вместо как для аналогичных результатов, мне нужны оба входа. Я попытался сделать заявление CASE в разделе where без UNION, но получил те же результаты
Я не уверен, что я вижу вопрос здесь. Возвращает ли запрос то, что вы хотите? Если нет, отправьте воспроизводимый тестовый пример. Отправьте DDL, чтобы создать таблицу «worker», DML, чтобы вставить несколько строк выборки, сообщить нам, что представляют собой переменные связывания, и сообщить нам, какие строки вы хотите вернуть. –
он возвращает строки только в том случае, если я заполняю как ID, first_name, так и Last_name. Я хочу, чтобы он возвращал значения, когда вводился только ID или имя First & Last, но не все из них. Извините, я не был чист. –
- некоторые из этих значений null? что может вызвать проблемы. – Hogan