Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];

Вниз

Други помогите 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.043 c
14-1105891385
Kerk
2005-01-16 19:03
2005.02.06
ICQ


1-1106489448
Aleks
2005-01-23 17:10
2005.02.06
Долгое выполнение программы или разграничение процессов


1-1106062293
Дмитрий В. Белькевич
2005-01-18 18:31
2005.02.06
Как изменить границы страницы принтера?


3-1104824144
tytus
2005-01-04 10:35
2005.02.06
Фильтрация данных.


1-1106308897
Aleks
2005-01-21 15:01
2005.02.06
Как програмно определить подключён ли компьютер к интернету.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский