Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Joinы в Access / 16 сообщений из 16, страница 1 из 1
27.03.2003, 17:03
    #32128404
Grey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Joinы в Access
Kак в Access сделать , что в MS SQL делается таким образом :

SELECT dcCertificate.*, dcEmploye.dcEmploye_FIO, dcEmploye.dcEmploye_JobPlace, dcPost.dcPost_description, dcWarningCard.*
FROM dcCertificate
INNER JOIN dcEmploye ON dcEmploye.dcEmploye_ID = dcCertificate.dcCertificate_dcEmploye_ID
INNER JOIN dcPost ON dcPost.dcPost_ID = dcEmploye.dcEmploye_dcPost_ID
LEFT JOIN dcWarningCard ON dcWarningCard.dcWarningCard_ID = dcCertificate.dcCertificate_dcWarningCard_ID

Что за урезанный SQL , где можно только один join сделать , остальные делаются через вложение в этот join !?
...
Рейтинг: 0 / 0
27.03.2003, 17:26
    #32128445
ДиД
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Joinы в Access
что за "вложения"?
...
Рейтинг: 0 / 0
27.03.2003, 17:40
    #32128463
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Joinы в Access
Да все в аксесе можно, главное чтобы руки из нужного места росли.
Нарисуй в конструкторе и прочитай что получилось :))
...
Рейтинг: 0 / 0
27.03.2003, 18:37
    #32128510
Grey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Joinы в Access
на эту конструкцию в Access выдаёт синтаксическую ошибку, хотя она очень простая и в нормальном клиент-сервере запросто выполняется

>ДиД
вложения я имел ввиду join (join ... (join....))
...
Рейтинг: 0 / 0
27.03.2003, 18:51
    #32128526
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Joinы в Access
Grey, простите, Вам мешает разница в синтаксисе или что-то не работает?
...
Рейтинг: 0 / 0
27.03.2003, 18:54
    #32128529
ДиД
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Joinы в Access
какая Вам разница как она скобки ставит?
...
Рейтинг: 0 / 0
27.03.2003, 18:58
    #32128535
Grey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Joinы в Access
Ну попробуйте со скобками, не получается у меня
...
Рейтинг: 0 / 0
27.03.2003, 19:00
    #32128538
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Joinы в Access
Слово INNER надо убрать.
...
Рейтинг: 0 / 0
28.03.2003, 09:54
    #32128734
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Joinы в Access
Не надо слово Inner убирать, совсем перестанет работать.
Если не умеешь скобки расставлять - погляди как это сам Access делает.
Конструктор для того и придумали, чтобы ручками запросы не писать если не умеешь или не хочешь.
...
Рейтинг: 0 / 0
28.03.2003, 10:37
    #32128779
Grey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Joinы в Access
Вот какой запрос делает грёб...ный конструктор:

SELECT dcCertificate.*, dcEmploye.dcEmploye_FIO, dcEmploye.dcEmploye_JobPlace, dcPost.dcPost_description, dcWarningCard.*
FROM dcWarningCard RIGHT JOIN (dcPost INNER JOIN (dcEmploye INNER JOIN dcCertificate ON dcEmploye.dcEmploye_ID = dcCertificate.dcCertificate_dcEmploye_ID) ON dcPost.dcPost_ID = dcEmploye.dcEmploye_dcPost_ID) ON dcWarningCard.dcWarningCard_ID = dcCertificate.dcCertificate_dcWarningCard_ID;


что не есть правильно , хотя на схеме конструктора описал все связи между таблицами правильно
...
Рейтинг: 0 / 0
28.03.2003, 10:50
    #32128796
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Joinы в Access
И что же в нем неправильного?
Подумаешь, таблицы задом наперед поджойнены. Удав что от головы до хвоста, что от хвоста до головы - 38 попугаев.
...
Рейтинг: 0 / 0
28.03.2003, 10:57
    #32128802
Grey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Joinы в Access
Не верно выдаёт записи (вообще их не выдаёт) , хотя они есть
...
Рейтинг: 0 / 0
28.03.2003, 11:18
    #32128840
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Joinы в Access
Ну и разберись, на каком из этапов данные пропадают.
Откусывай по одной таблице и смотри на результат. Наверняка в каком нибудь из Inner Join лажа.
Чудес не бывает, если записи должны возвращаться, но не возвращаются - значит запрос ты написал (нарисовал) неправильно.
...
Рейтинг: 0 / 0
28.03.2003, 11:24
    #32128847
ДиД
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Joinы в Access
Grey Вам не кажется немного странным, что у ВСЕХ запросы работают, а у Вас не получается. Ищите причину в другом. Вы, как я понял из Ваших вопросов, Вы работали в другой среде, Вас, как мне кажется, заставили работать в Аксессе. Вы попытались по привычке сделать запрос как в sql-server. Естественно, что здесь другой sql, смесь SQL-89 И sql-92 с некоторыми специфическими для Аксесса дополнениями. Может, предже чем писать запрос в Аксессе, теорию почитать?
...
Рейтинг: 0 / 0
28.03.2003, 15:46
    #32129170
Grey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Joinы в Access
Хотелось бы почитать про SQL в Access, да только в справке по Access очень мало информации.
дайте пожалуйста ссылки.
...
Рейтинг: 0 / 0
28.03.2003, 16:11
    #32129199
Grey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Joinы в Access
Всё, спасибо всем , разобрался с SQL в Access
Да , извратный он однако ;-)))
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Joinы в Access / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]