Я пытаюсь сделать запрос, который ищет из двух таблиц patient
и prescription
, и я выбираю столбцы для вывода из обеих таблиц.Я использую inner join
и хочу, чтобы, когда я пишу одно слово в searchbox
, оно проверяло его в одном столбце, если совпадение отображало его, а если не совпадало, то выполняло поиск в следующем столбце и т. Д.
Для этой цели я делаю следующий запрос, который совсем не сложен, просто несколько длинен, и я применяю много like
операторов.
select distinct( pr.case_no) as CaseNo ,
p.name as PatientName,
p.phone as PatientPhone,
pr.visit_no as VisitNo,
pr.assign_doctor as DoctorAssigned ,
pr.date as Date,
pr.diet_chart as DietChart
from prescription pr, patient p
where p.p_id =pr.p_id
and
p.name like '%'+@input+'%'
or
pr.case_no like '%'+@input+'%'
or
p.phone like '%'+@input+'%'
or
pr.visit_no like '%'+@input+'%'
or
pr.assign_doctor like '%'+@input+'%'
or
pr.date like '%'+@input+'%'
or
pr.diet_chart like '%'+@input+'%'
Когда я пишу одно слово в searchbox
, тогда данныеповторяется много раз.Я стараюсь изо всех сил применять группы или отдельные команды, но не требуются выходные данные ...
Я хочу, чтобы одна запись отображалась один раз, но она повторяла записи.Выходные данные этого запроса я хочу, чтобы данные вообще не повторялись и делает группу на основе case_no ........ где запрос должен быть изменен ... пожалуйста, помогите