powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите с запросом
13 сообщений из 13, страница 1 из 1
Помогите с запросом
    #39463576
Sergey8969
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день

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

Код: sql
1.
2.
3.
SELECT instrument.Markirovka, instrument.kolvo_sklad, Sum(ceh.kolvo) AS [Sum-kolvo]
FROM instrument INNER JOIN ceh ON instrument.id_instr = ceh.id_instr
GROUP BY instrument.Markirovka, instrument.kolvo_sklad;



Только данный запрос не выведет вообще маркировки инструмента, записи о котором отсутствуют в таблице ceh. А мне бы нужно в случае, если нет записей об инструменте в таблице ceh выводить kolvo_ceh=0. Как это можно сделать?

Немного поясню назначение таблиц. В таблице instrument хранятся все наименования инструмента и их кол-во на складе. В таблице ceh хранятся записи какой инструмент какому из рабочих выдан и в каком количестве.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39463594
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey8969,

замените INNER JOIN на LEFT JOIN
...
Рейтинг: 0 / 0
Помогите с запросом
    #39463601
Sergey8969
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimportSergey8969,

замените INNER JOIN на LEFT JOIN

Спасибо, так запрос выдает все нужные строки, но если в таблице ceh нет записей, то в столбце [sum-kolvo] остается пропуск, а надо бы выводить 0. Можно это как-то сделать?
...
Рейтинг: 0 / 0
Помогите с запросом
    #39463603
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Замените
Код: vbnet
1.
Sum(ceh.kolvo)


на
Код: vbnet
1.
Sum(Nz(ceh.kolvo,0))
...
Рейтинг: 0 / 0
Помогите с запросом
    #39463619
Sergey8969
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShin, спасибо! теперь все работает как надо
...
Рейтинг: 0 / 0
Помогите с запросом
    #39463755
MrShinЗамените
Код: vbnet
1.
Sum(ceh.kolvo)


на
Код: vbnet
1.
Sum(Nz(ceh.kolvo,0))

ИМХО, лучше так: Nz(Sum(ceh.kolvo),0)
Иезультат тот же, а Nz вызывается 1 раз.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39463840
Sergey8969
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо за ответы!

У меня есть проблема еще с одним запросом, правда там, похоже, дело в каких-то багах аксеса, потому что эта проблема то появляется, то исчезает непонятно из-за чего.
Вот код запроса:

Код: sql
1.
2.
3.
SELECT Инструмент.Ссылка
FROM Тип_инструмента INNER JOIN (Производитель INNER JOIN Инструмент ON Производитель.id_производитель = Инструмент.id_производитель) ON Тип_инструмента.id_тип_инструмента = Инструмент.id_тип_инструмента
GROUP BY Инструмент.Ссылка;


Запрос должен выдавать поле с гиперссылками, но он почему-то возвращает иероглифы. Связи с другими таблицами тут лишние, конечно, но если их убрать, проблема тоже исчезает, а в запросе, который мне нужен в итоге, много связей и он выдает как раз иероглифы.

Заметил еще, что если, к примеру, добавить условие в запрос Like("*"), то иероглифы пропадают, вместо них возвращаются нормальные ссылки.
Если удалить часть значений из таблицы со ссылками, то опять же запрос перестанет выдавать иероглифы. Я даже пытался выяснить после какой удаленной строчки исчезнут иероглифы, думал может проблема в таблице. Начал удалять с конца таблицы по несколько записей, пытался подсечь на какой строке иероглифы исчезнут, только ничего не получилось - каждый раз на разном количестве удаленных строк иероглифы пропадали. Вообще закономерность понять не могу.

Можно эту проблему как-то правильно решить? Я могу, конечно, попробовать приделать костыль в виде условия Like("*"), только не факт, что во всех запросах что мне нужны иероглифы снова не вылезут)
...
Рейтинг: 0 / 0
Помогите с запросом
    #39463846
Sergey8969
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот пример, только он в формате .accdb. В более старом формате сохранить не дает аксес уже. Вроде все формы, запросы, таблицы, модули лишние поудалял, все равно не хочет сохранять.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39463859
А зачем вам GROUP BY Инструмент.Ссылка? Что будет без него?
Какой тип поля Ссылка? Если МЕМО или Гиперссылка (разновидность МЕМО), то группировка по такому полю приводит к обрезанию текста до 255 символов и другим неприятностям.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39463874
Sergey8969
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ( Киев ),

мне в запросе нужно просуммировать значения в одном поле, по другим соответственно нужно делать группировку. Собственно, запрос будет примерно такой же, как и в начале топика, только еще несколько полей добавятся, в том числе и "Ссылка".

Тип поля "Ссылка" - гиперссылка.
Тогда заменить группировку поля "Ссылка" на first? Так иероглифы пропадают, только вот гиперссылка в обычный текст превращается, на который кликнуть нельзя.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39464292
Sergey8969
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребят, подскажите как правильно сделать запрос

Код: sql
1.
2.
3.
SELECT instrument.Markirovka, instrument.kolvo_sklad, Nz(Sum(ceh.kolvo),0) AS [Sum-kolvo], instrument.link
FROM instrument LEFT JOIN ceh ON instrument.id_instr = ceh.id_instr
GROUP BY instrument.Markirovka, instrument.kolvo_sklad, instrument.link;



Если группировать по полю "instrument.link" нельзя, то как сделать? Если группировку заменить на first или last, то в результате запрос выдает ссылки, на которые уже нельзя кликать. Они в виде обычного текста возвращаются. Ну а если группировать по полю со ссылкой, то у меня возвращаются иероглифы вместо ссылок, правда не в таком именно запросе, а более сложном, с большим количеством связей, но он принципиально не отличается от приведенного.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39465155
Sergey8969
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что никаких идей нету?
...
Рейтинг: 0 / 0
Помогите с запросом
    #39469937
Фотография гурД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторв результате запрос выдает ссылки, на которые уже нельзя кликать. Они в виде обычного текста возвращаются
Работать с формой, т.е. результат запроса выводить не в нативном табличном виде, на через форму (основанную на этом запросе), где связанное с Instrument.link поле отформатировать в виде ссылки...
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите с запросом
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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