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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2007, 20:28   #1
TitAn
Пользователь
 
Регистрация: 27.05.2007
Сообщений: 12
По умолчанию Подскажите плиз в чем ошибка в БД D7 при SQL запросе

Подскажите плиз в чем ошибка в БД D7 при SQL запросе из нескольких таблиц, почему-то ругается на перечисление источников.
Вот пример:
Query1.SQL.Add ('select Field1, Field4, Field5, Field8 * from
Table1, Table2, Table3, Table4, Table5, Table6, Table7, Table8 where Field8=XXX');
TitAn вне форума Ответить с цитированием
Старый 05.06.2007, 20:49   #2
Таня84
Пользователь
 
Аватар для Таня84
 
Регистрация: 20.01.2007
Сообщений: 38
По умолчанию

может * не надо ставить, или просто оставь звездочку, а филды убери
Таня84 вне форума Ответить с цитированием
Старый 06.06.2007, 00:04   #3
konkurent
Пользователь
 
Регистрация: 10.04.2007
Сообщений: 51
По умолчанию

Ошибка
во первых Field1, Field4, Field5, Field8 должны присутсвовать в каждой Table1, Table2, Table3, Table4, Table5, Table6, Table7, Table8 чего нет я подозреваю
во вторых если уж такое произошло то условие должно выглядить
Field8.конкретнаятаблица(1,2 или 8)=XXX'
в третьих если Field8 имеет тип стринг или чар то
Field8.конкретнаятаблица(1,2 или 8)='XXX'
e-mail=konkurent@gala.net
isq=498425545
konkurent вне форума Ответить с цитированием
Старый 06.06.2007, 09:10   #4
Mirlan
 
Регистрация: 05.06.2007
Сообщений: 8
По умолчанию

Синтаксические ошибки...
Mirlan вне форума Ответить с цитированием
Старый 06.06.2007, 10:28   #5
SSSergey
 
Регистрация: 05.06.2007
Сообщений: 7
По умолчанию

Попробуй чтонибуть с этим кодом сделать! Вдруг получится!
bd.ADOQueryPoisk.Active:=false;
bd.ADOQueryPoisk.SQL.Clear;
bd.ADOQueryPoisk.SQL.Add('SELECT*') ;
bd.ADOQueryPoisk.SQL.Add('fROM glavnay');
bd.ADOQueryPoisk.SQL.Add('WHERE Pole1=''False'' or Pole1=''нет''');
bd.ADOQueryPoisk.Active:=true;
SSSergey вне форума Ответить с цитированием
Старый 06.06.2007, 17:16   #6
TitAn
Пользователь
 
Регистрация: 27.05.2007
Сообщений: 12
По умолчанию

У меня получается около десятка таблиц, все Fieldы в них присутствуют, и меня интересует Field8, которое также присутствует во всех таблицах.
TitAn вне форума Ответить с цитированием
Старый 06.06.2007, 18:27   #7
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

если названия полей совпадают,
-> поэтому и ошибка !
надо конкретно указывать

имя_таблицы.имя_поля
либо
имя_таблицы.*
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 06.06.2007, 21:13   #8
TitAn
Пользователь
 
Регистрация: 27.05.2007
Сообщений: 12
По умолчанию

Может я что-то не понятно написал:
у меня порядка десятка таблиц, имена полей таблиц (участвующих в запросе) одинаковы. Мне нужен запрос SQL по этим таблицам по условию where... с выборкой только нужных полей (RegNum, Designation...). Вот что я слепил, работать нехочет.
procedure TForm1.N47Click(Sender: TObject);
begin
Query1.Active:=False;
Query1.SQL.Clear;
Query1.SQL.Add('select RegNum, Designation, Type, Status * from Wire, Trans, AirWire, BCK, MotorAD, MotorSD, SwitchQ, SwitchQF where Status='В ремонте'');
Query1.Active:=True;
end;
TitAn вне форума Ответить с цитированием
Старый 06.06.2007, 21:26   #9
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

а в одну таблицу это никак нельзя было засунуть, добавив поле тип записи? Это тебе хочеца по порядку, в столбик так сказать, из разных таблиц данные запросить?
т.е.
+-+-+-+-+-+-+-+
шапка таблицы
+-+-+-+-+-+-+-+
записи из Wire
записи из Trans
...
так чтоль?
pu4koff вне форума Ответить с цитированием
Старый 06.06.2007, 21:29   #10
TitAn
Пользователь
 
Регистрация: 27.05.2007
Сообщений: 12
По умолчанию

Нет что-то типа
______________________
RegNum | Type | Status
_______________________
а в теле полученой таблицы выборка по where
TitAn вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка SQL запросе. EVG44 БД в Delphi 2 21.10.2007 22:42
Ошибка при запросе SQL в IB Алекс1 БД в Delphi 2 24.06.2007 22:37
Ошибка в SQL запросе eremin БД в Delphi 2 23.06.2007 07:13
Ошибка в SQL запросе...!? KeyDok БД в Delphi 5 21.06.2007 09:19