![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Други помогите Interbas'совский запрос переделать в Access'овский [D7, IB6.x, Access]
first_aid © (2005-01-10 08:24:00)Други помогите Interbas'совский запрос переделать в Access'овский
Есть запрос к Interbase 7 (Access кричит ошибка):
select MAIN.*, MANAGERS.NAME as MANAGERNAME, SUPPLIERS.NAME as SUPPLIERNAME
from MAIN
left join MANAGERS on MAIN.MANAGERS_ID = MANAGERS.ID_MANAGERS
left join SUPPLIERS on MAIN.SUPPLIERS_ID = SUPPLIERS.ID_SUPPLIERS
order by APPDATE
Вопрос :) Каким должен быть аналогичный запрос к Access?
first_aid (2005-01-10 16:19:00) [1]Спасибо всем кто ответил.
sniknik (2005-01-10 14:08:00) [2]вот так примерно
select M.*, G.NAME as MANAGERNAME, S.NAME as SUPPLIERNAME from
(MAIN M left join MANAGERS G on M.MANAGERS_ID = G.ID_MANAGERS)
left join SUPPLIERS S on M.SUPPLIERS_ID = S.ID_SUPPLIERS
order by APPDATE
msguns (2005-01-10 12:48:00) [3]Нельзя запросы, запускаемые в джете (если юзается ADO), отлаживать в самом аксесе, т.к. его сиквель отличается от джетовского (SQL2000) стандарта. Лучше отлаживать запросы в эксплорере SQL в дельфишной поставке. Хотя гетерогенные запросы я отлаживал в самом аксесе. Правда писал их безо всяких мастеров - в режиме SQL, а потом сохранял их в "первозданном" виде, т.к. при сохранении текста запроса аксес "творчески" перекраивал его на свой манер, фактически уродуя.
first_aid (2005-01-10 12:20:00) [4]to Sens
to msguns
Да MANAGERS и SUPPLIERS это справочники, WHERE не подойдет см. ниже.
Пробовал я аксесовским конструктором запросов сделать запрос, но он прикручивает INNER JOIN, а это не есть гуд, т. к. в таблице MAIN есть записи в которых поля MAIN.MANAGERS_ID = NULL и/или
MAIN.SUPPLIERS_ID = NULL, и соответственно эти записи не попадают в вывод (а должны по логике работы программы).
Пробовал в созданном Access'ом запросе ручками заменить INNER на JOIN - пишет ошибка в предложении FROM.
msguns (2005-01-10 10:12:00) [5]Судя по всему, MANAGER и SUPPLIERS являются справочниками, ссылка на которые из MAIN. Если в MAIN нет пустых ссылок, замени джоины на WHERE
Sens (2005-01-10 09:41:00) [6]Насколько я понял, у тебя таблицы в Акс переделаны, если так, то укажи связи Аксовыми методами и создай запрос - тоже аксовыми методами. Акс любит в скобки брать джойны
first_aid (2005-01-10 09:37:00) [7]Говорит что пропущен оператор, ругань насколько я понял идет на второй left join, без order by ошибка таже.
Sens (2005-01-10 08:53:00) [8]А что Access гооврит то?
Попробуй убрать order by APPDATE или допиши MAIN.APPDATE