![]() |
|
|
![]()
|
|
| Ksen |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 24.5.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
Всем привет!)
Использую ADO....Подскажите, пожалуйста, с помощью какой команды можно объединить 2 таблицы? Пробовала INNER JOIN, но у меня почему-то при активации Query ошибка "Incorrect syntax near the keyword "INNER" В ACCESS команда, которая мне нужна называется RIGHT JOIN...... Привожу код запроса)) на всякий пожарный...
|
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 22 Всего: 122 |
Так у тебя в запросе 3 таблицы обьединяются...
Добавлено @ 11:49 object_statuses тоже надо прописать INNER JOIN |
|||
|
||||
| Savek |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 10.4.2006 Где: Воронеж Репутация: 7 Всего: 7 |
Насколько я помню нужно писать
LEFT INNER JOIN RIGHT INNER JOIN LEFT OUTER JOIN RIGHT OUTER JOIN |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 22 Всего: 122 |
так пишут в случае лево- или правостороннего обьединения... Ksen выпиши свои названия таблиц и поля по которым ты делаешь обьединение... я попробую переделать... |
|||
|
||||
| Ksen |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 24.5.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
Получилось)) но немного не то, что я хотела....сейчас почему-то запрос выбирает все записи в которых есть enterprise_id....а у меня бывают такие ситуации, что нет enterprise_id, т.е. в поле пустота....как быть? Нужны все записи...
Savek, почему-то с RIGHT INNER JOIN ругается "Incorrect syntax near the keyword "INNER"
Чего не правильно? подскажите....плиз)) Добавлено @ 14:08 Rodman, мне по идее и нужно правостороннее соединение... я попробовала создать запрос в аксес с простецкой базой, код получился такой
|
||||
|
|||||
| Rodman |
|
||||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 22 Всего: 122 |
------------------------------------------------------- ну по тексту запроса я много сказать не могу, но вижу что он правильнее стал... если можешь, заведи базу в Microsoft Access и там есть есть возможность визуального конструирования запросов... просто выбираешь таблицы, а потом поля которые тебе необходимо выводить... все обьединения сами прописываются... (можно и SQL запрос потом оттуда выудить)... Добавлено @ 14:17 а условие
можешь дописать в конце, но "точка с запятой" должны быть в самом конце... |
||||
|
|||||
| Ksen |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 24.5.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
есть общая таблица с данными objects_mon и есть два справочника object_statuses и enterprises Нужно чтоб запрос выбирал все записи из таблицы objects_mon у которых flag_del = 0, а к полям enterprise_id и object_status_id подставлялись соответствующие наименования из справочников....т.е. object_status_name, enterprise_name....но нужно учесть что в таблице objects_mon в поле enterprise_id может быть пусто....но запись эта нужна.... Добавлено @ 14:41
полностью базу я там с эмитировать не могу.....подобную сделала....и по этому подобию запрос и писала.... Добавлено @ 14:44 Rodman, |
||||
|
|||||
| Ksen |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 24.5.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
почему на RIGHT INNER JOIN ругается "Incorrect syntax near the keyword "INNER"???? непонимаю...
Добавлено @ 15:21 Получилось!!!!!!! Оказывается, если используешь правостороннее или левостороннее соединение то пишется RIGHT JOIN или LEFT JOIN без INNER!!! Поэтому и ошибка была!! |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 22 Всего: 122 |
Поздравляю...
Чем долше мучаешься, тем больше научишься... Если надо че нить по базам - пеши... |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |