Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.06;
Скачать: CL | DM;

Вниз

Други помогите Interbas совский запрос переделать в Access овский   Найти похожие ветки 

 
first_aid   (2005-01-10 08:24) [0]

Други помогите 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?


 
Sens ©   (2005-01-10 08:53) [1]

А что Access гооврит то?
Попробуй убрать order by APPDATE или допиши MAIN.APPDATE


 
first_aid   (2005-01-10 09:37) [2]

Говорит что пропущен оператор, ругань насколько я понял идет на второй left join, без order by ошибка таже.


 
Sens ©   (2005-01-10 09:41) [3]

Насколько я понял, у тебя таблицы в Акс переделаны, если так, то укажи связи Аксовыми методами и создай запрос - тоже аксовыми методами. Акс любит в скобки брать джойны


 
msguns ©   (2005-01-10 10:12) [4]

Судя по всему, MANAGER и SUPPLIERS являются справочниками, ссылка на которые из MAIN. Если в MAIN нет пустых ссылок, замени джоины на WHERE


 
first_aid   (2005-01-10 12:20) [5]

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 12:48) [6]

Нельзя запросы, запускаемые в джете (если юзается ADO), отлаживать в самом аксесе, т.к. его сиквель отличается от джетовского (SQL2000) стандарта. Лучше отлаживать запросы в эксплорере SQL в дельфишной поставке. Хотя гетерогенные запросы я отлаживал в самом аксесе. Правда писал их безо всяких мастеров - в режиме SQL, а потом сохранял их в "первозданном" виде, т.к. при сохранении текста запроса аксес "творчески" перекраивал его на свой манер, фактически уродуя.


 
sniknik ©   (2005-01-10 14:08) [7]

вот так примерно
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


 
first_aid   (2005-01-10 16:19) [8]

Спасибо всем кто ответил.



Страницы: 1 вся ветка

Текущий архив: 2005.02.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
14-1105772075
Чеширский_Кот
2005-01-15 09:54
2005.02.06
Жизненно важный софт


14-1105289750
Fin
2005-01-09 19:55
2005.02.06
У кого самый дорогой или дешевый Интернет


1-1106311006
Dmitry_04
2005-01-21 15:36
2005.02.06
Как программно выделить строку в TreeView?


14-1105990364
Lancelot
2005-01-17 22:32
2005.02.06
Гы :)


14-1106121963
syte_ser78
2005-01-19 11:06
2005.02.06
Пример с книги Delphi 3 не работает на Delphi 6