0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 50

Некорректно работает Перекрестный запрос

07.11.2014, 12:39. Показов 2380. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите плиз ламеру )

Есть таблицы:

- Сервисы - информация по сервису
- Сотрудники - информация по сотрудникам
- Роли - информация по ролям сотрудников (клиент-менеджеры, сервис-менеджеры и т.п.)
- Сервис_клиент_менеджеры - таблица соответствия, где прописаны id сервисов, сотрудников и ролей.

Есть перекрестный запрос, который выводит информацию по сервису и ответственным за этот сервис. В перекрестном запросе вывожу строками всю необходимую информацию по сервису, а группировка сделана по столбцу Роль. В итоговой таблице перекрестного запроса получила ФИО сотрудников, которые имеют ту/иную роль и являются ответственными за сервис.

Но на скриншотах ниже видно, что в таблице Сервис_клиент_менеджеры прописан определенный сотрудник с определенной ролью, информация о котором не попала в перекрестный запрос...Подскажите плиз, в чем может быть причина? Настройки перекрестного запроса также представлены на скрине ниже.
Миниатюры
Некорректно работает Перекрестный запрос   Некорректно работает Перекрестный запрос   Некорректно работает Перекрестный запрос  

0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.11.2014, 12:39
Ответы с готовыми решениями:

Запрос на SUM работает некорректно
SELECT Товары.Код, Товары., Sum(Продажи.Сумма) AS , Sum(Поставки.Цена) AS FROM (Товары INNER JOIN Поставки ON Товары.Код = Поставки.)...

Некорректно работает запрос к БД Access из Excel
Люди, буду очень признателен любому, кто поможет по следующему вопросу. Есть база в Access и есть макрос в Excel (среда - Office2K),...

Перекрестный запрос
Доброго времени суток! Делаю перекрестный запрос, чтобы получить в заголовках строк названия компаний, в заголовках столбцов - даты, а...

16
Эксперт MS Access
26827 / 14507 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
07.11.2014, 14:44
Без запроса, который источник для перекрестного, трудно сказать с полной опредtленностью. Но с немалой долей вероятности, можно предположить, что при соединении таблиц в нем по INNER JOIN, в какой-то из таблиц нет инфы по указанной роли и, соответственно все записи с этим ролью не попадают в выходной набор. Если прав, то нужно сделать запрос, объединяющий все таблицы кроме Роли, наверное, а Роли объединить с ним как LEFT JOIN со стороны Роли.
Впрочем это только предположение. Действительность может быть куда красочней :-)

В общем, лефт джойн должен быть со стороны той таблицы для которой требуется полная выборка
1
459 / 246 / 15
Регистрация: 29.10.2014
Сообщений: 1,084
08.11.2014, 23:15
короче нужна бд, пусть и без самих данных
1
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 50
10.11.2014, 11:49  [ТС]
mobile, commun, ну и ну...поудаляла часть таблиц и данных в базе, чтобы вам отправить, и все заработало...я в шоке...что это может быть? неверные связи с другими таблицами?
0
 Аватар для VinniPuh
9132 / 6156 / 593
Регистрация: 27.03.2013
Сообщений: 20,013
10.11.2014, 12:15
Цитата Сообщение от Lidis023 Посмотреть сообщение
...что это может быть? неверные связи с другими таблицами?...
Скорее всего ДА.
Если у вас ВСЕ таблицы связаны по счетчику и по числовому полю, ТО указывать ВСЕ ВОЗМОЖНЫЕ СВЯЗИ в семе на мой взгляд не обязательно (особли'во по малому кругу), т. к. вы просто напросто ни чего не сможете ввести кроме нужного кода, а только указать его в поле со списком.
А малый круг часто служит причиной ошибок.
Ну типа связи в схеме делайте только САМЫЕ необходимые, а если нужно будет их указать в запросе, то просто их создайте в самом запросе.
И еще совет на будущее, ни когда не указывайте в схеме БД - Объединение, это нужно только делать в запросах, иначе возникают очень часто конфликты (Лично несколько раз попадался на это и по 5-7 дней тупил, пока не въехал, что. где и почему) , ревел горючими слезами от бессилия и своей тупости.

Добавлено через 2 минуты
Ну или прям на самый крайний случай, в запросе просто напросто - УДАЛЯЮ не всегда нужную связь и это на 200% помогает.
Всяких хитростев, для обмана Аксика у него довольно много предусмотрено.
1
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 50
10.11.2014, 12:37  [ТС]
kmv-puh, а что значит Объединение в схеме БД? Не совсем понимаю о чем речь.

Пыталась повторить пример на крайней версии БД (пример, в котором все заработало был не на совсем свежей БД сделан) и вуаля - не получилось повторить удачное превращение неправильного запроса в правильный (((
На этот раз высылаю пример БД...

Запрос 3 (для перекрестного) строится на базе Запрос 1 и Запрос 2.

Собственно Перекрестный запрос и работает некорректно, данных по клиент-менеджерам не выводит, хотя в Таблице Сервис_клиент_менеджеры сотрудники прописаны...и Запрос 2 выдает этих сотрудников:
Миниатюры
Некорректно работает Перекрестный запрос  
Вложения
Тип файла: zip test.zip (1.09 Мб, 7 просмотров)
0
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 50
10.11.2014, 12:39  [ТС]
commun, вложила.
0
 Аватар для VinniPuh
9132 / 6156 / 593
Регистрация: 27.03.2013
Сообщений: 20,013
10.11.2014, 12:49
Цитата Сообщение от Lidis023 Посмотреть сообщение
...а что значит Объединение в схеме БД?...
Ну если по простонародному, как я это понимаю так:
Если пощелкать на линии связи между таблицами, по появится окошечко, где можно выбрать тип объединения, как их обозвали - Левое и - Правое. (Появится стрелочка к одной или другой таблице)
Суть этих названий я не до конца сам понимаю, но на жиздненном опыте знаю, что если не ввести в какую то табличку данные из поля, которое участвует в связи, то просто напросто не все записи будут видны, а только те зде есть значение или если другая связь, то все записи.
Умом то я малость осознаю, что это и зачем, а доступно объяснить не можу, так как не сильно грамотный.
Это нужно или в книхках почитать или может кто из академиков на форуме объяснит доступно.
Чисто научным ТЫКОМ можно для себя осознать я думаю.
0
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 50
10.11.2014, 13:32  [ТС]
kmv-puh, ок, поняла. А что с перекрестным запросом, посмотрели? Чего там не работает? (
0
 Аватар для VinniPuh
9132 / 6156 / 593
Регистрация: 27.03.2013
Сообщений: 20,013
10.11.2014, 13:49
Цитата Сообщение от Lidis023 Посмотреть сообщение
...посмотрели? Чего там не работает?...
Да. попытался, но к сожалению не могу посмотреть, наверное из за того, что у меня Аксик = 2000, а у вас 2014, а то уже и 2015, а мой допотопный конвертор не справляется .
Типа только предполагал, пока других ответчиков на форуме не было, предположил без примера.
Если сумете переформатировать из вашей новомодной версии в старенькую как я сам, то ВОЗМОЖНО, смогу, но не обещаю, так как сёдня справляю ДЕНЬ СВЯТОГО МИЛИЦИОНЕРА и могу на неделю отвлечься. типа машина вроемени сработает. перемещюся в будущее на пару дней.
0
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 50
10.11.2014, 14:10  [ТС]
kmv-puh, у меня Access 2010 ))
0
 Аватар для VinniPuh
9132 / 6156 / 593
Регистрация: 27.03.2013
Сообщений: 20,013
10.11.2014, 14:18
Цитата Сообщение от Lidis023 Посмотреть сообщение
...у меня Access 2010 ))...
Это проблемму не решает, у меня - ИНОГДА могет открыть - 2007, да и то не всегда, так что не парьтесь, думается НАЙДЕТСЯ, у кого ваш формат откроется и сможет вам ПОМОЧЬ, нужно наверное только пару дней обождать..
УДАЧИ!!!
0
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 50
10.11.2014, 15:25  [ТС]
kmv-puh, и на том спасибо )
0
 Аватар для VinniPuh
9132 / 6156 / 593
Регистрация: 27.03.2013
Сообщений: 20,013
10.11.2014, 15:36
Цитата Сообщение от Lidis023 Посмотреть сообщение
...и на том спасибо ...

Не по теме:

Да не за что, пословоблудить, это Всегда пожалуйста.
Любой кипишь тоже всегда поддержу.

Типа - ОрЁл или СУПЕР КОТ
0
Эксперт MS Access
26827 / 14507 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
10.11.2014, 15:41
Lidis023, очевидная проблема в поле Описание. Оно типа MEMO, а по MEMO нельзя делать группировки. Уберите Описание из селекта и группировки в перекрестном запросе и все пойдет. В дальнейшем надо будет использовать приведение его к текстовому виду в запросе.

И еще. В такого рода сложных запросах с неясным выходом, в TRANSFORM лучше задавать агрегатную функцию MAX или MIN. Надежнее при отладке.
1
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 50
10.11.2014, 16:17  [ТС]
mobile, да, скорей всего так!! в старой версии БД у меня не было Описания и там все работало...но вот вопрос, я удалила это поле из Запроса 3 (для перекрестного), но это поле присутствтвует в Запрос 1, на базе которого строится 3й...Соответственно перкрестный запрос выдает ошибку - "Запрос 1. Описание" не распознается ядром СУБД Microsoft Access как допустимое имя поля или выражения"...что делать? удалить его вообще из таблицы я не могу, т.к. так хранится описание сервисов, текст более 255 символов...

Добавлено через 5 минут
mobile, вопрос снят, забыла еще в одном месте удалить описание )
Спасибо Вам большое!!! очень помогли!!!

А как все же это поле можно использовать в перекрестном запросе? какие манипуляции с ним провести?
0
Эксперт MS Access
26827 / 14507 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
10.11.2014, 16:27
Цитата Сообщение от Lidis023 Посмотреть сообщение
А как все же это поле можно использовать в перекрестном запросе? какие манипуляции с ним провести?
Во многом зависит от потребности в нем. В простейшем случае без группировки по нему использовать First(Описание) AS ...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.11.2014, 16:27
Помогаю со студенческими работами здесь

Перекрестный запрос
Добрый день, создаю базу данных сотрудников кто присутствует на каком объекте. Имею отчет_запрос который выводит все значения которые...

перекрестный запрос
совсем я не могу понять этих запросов по теории...а объяснить некому :( вот что сама сделала для этих таблиц нужно создать...

перекрестный запрос
Задание:Создать перекрестный запрос вида: Код Сотрудника Количество вызовов Распределение по месяцам Решение: TRANSFORM...

Перекрестный запрос
Всем здравствуйте, кто может прошу подсказать: имеется перекрестный запрос в котором некоторые ячейки пустые. Как сделать, чтобы пустые...

Перекрестный запрос
Доброго времени суток. Ведется учет проведения ТО систем сигнализации. Нужно периодически контролировать его проведение (в какой день) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru