Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2015, 17:49   #1
Strangee
 
Регистрация: 22.01.2015
Сообщений: 6
По умолчанию Поиск данных в нескольких таблицах(Delphi))

Доброго времени суток!
Никак не получается сделать поиск из нескольких таблиц.
После компиляции при попытке выполнить запрос появляется сообщение о синтаксической ошибке
Код:
procedure TForm1.Button6Click(Sender: TObject);
var
 str:string;
 search:string;
 
  begin
  DBGrid1.Visible:=true;
 str:=Edit1.Text;
 str:=TRIM(str);
 
 ADOQuery1.SQL.Clear;
 
search:= 'Select [Номер поезда], [Категория], [Начальная станция], [Конечная станция] from Поезда '+
 'where [Номер поезда] Like "%'+str+'%" or'  +
 ' [Начальная станция] Like "%'+str+'%" or'  +
 ' [Конечная станция] Like "%'+str+'%" or' +
 ' [Номер поезда] Like "%'+str+'%" or' +
 ' [Категория] like "%'+str+'%"' ;
 ADOQuery1.SQL.Add(search);
 ADOQuery1.SQL.Add('union all');
 
search:= 'Select [Номер поезда], [Название станции] from Станции '+
 'where [Название станции] Like "%'+str+'%" ';
  ADOQuery1.SQL.Add(search);
 ADOQuery1.SQL.Add('union all');
 
search:= 'Select [Номер поезда], [Название станции] from Направления '+
 'where [Номер поезда] Like "%'+str+'%" or'+
 ' Направление Like "%'+str+'%" ';
 ADOQuery1.SQL.Add(search);
 ADOQuery1.Active:=true;
end;
Изображения
Тип файла: jpg Снимок.jpg (5.7 Кб, 114 просмотров)
Strangee вне форума Ответить с цитированием
Старый 26.01.2015, 18:47   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

если использовать union, то набор столбцов(полей) ВО ВСЕХ частичных подзапросах должен быть одинаков по количеству, по типу полей и и по порядку.
Если нужного поля в таблице нет, можно в качестве поля задать константу NULL.

Код:
Select [Номер поезда], [Категория], [Начальная станция], [Конечная станция] from

Select [Номер поезда], NULL,        [Название станции], NULL from Направления
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
одновременный поиск на нескольких таблицах Red Warrior Microsoft Office Excel 0 24.06.2013 22:51
Поиск в базе данных Access - во всех таблицах Dux БД в Delphi 9 22.11.2012 20:05
поиск дублей в нескольких таблицах Access (Access +SQL) Delphi_developer Помощь студентам 3 26.09.2012 16:46
Поиск совпадений в нескольких таблицах Macklay SQL, базы данных 13 29.07.2011 15:06
Поиск данных в нескольких таблицах a_n_n_a БД в Delphi 10 23.04.2010 11:33