Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
608 / 387 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
1

Вложенный запрос с агрегатными функциями

29.09.2014, 18:41. Показов 1175. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
всем привет!
во вложении запрос2, в который вложен суммирующий запрос, работает некорректно...
а конкретно вычисляемые поля: смета.колво, форма.колво, забрано, остаток
должно быть так: юзер вносит значение в поле "форма.колво", значение поля "забрано" увеличивается на величину внесенную юзером автоматически, а так же значение поля остаток должно уменьшиться, на это же кол-во.

а сейчас не во всех строчках расчет правильный, причину не могу понять(

заранее благодарен всем откликнувшимся!
Вложения
Тип файла: rar форма.rar (167.0 Кб, 5 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.09.2014, 18:41
Ответы с готовыми решениями:

Тройной вложенный запрос/запрос из трех таблиц
Добрый день, помогите, пожалуйста, правильно составить sql запрос. Есть три таблицы: 1. Список...

Вложенный запрос
Здрасьте! Сделал я запрос на вставку в Аксессе: INSERT INTO Больничные ( дата_начала,...

Вложенный запрос
Ребята,помогите пожалуйста....у кого есть примеры базы данных (MS Access, My SQL) с вложенным...

Вложенный запрос
Почему не работает такая конструкция и как можно ее заменить? SELECT ... SET ...=(SELECT ... FROM...

9
Эксперт MS Access
2833 / 1375 / 215
Регистрация: 13.05.2011
Сообщений: 4,217
29.09.2014, 19:28 2
sekonya, в Запрос2 добавил два альтернативных вычисляемых поля забрано1 и остаток1. Вычисления идут стандартным способом (только почему-то округления не идут, видимо, что-то накручено). Посмотрите
Вложения
Тип файла: zip форма1.zip (292.5 Кб, 8 просмотров)
1
608 / 387 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
30.09.2014, 07:03  [ТС] 3
а откуда столько знаков после запятой появляется? как от этого избавиться?
0
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
30.09.2014, 10:23 4
Лучший ответ Сообщение было отмечено sekonya как решение

Решение

Цитата Сообщение от sekonya Посмотреть сообщение
а откуда столько знаков после запятой появляется? как от этого избавиться?
Числовой тип с плавающей запятой это неточный тип данных. Нет никаких гарантий, что при любой операции, включая ввод данных, не появятся отличные от нуля значения в дальних разрядах мантиссы. При арифметических операциях число вычисляется с полным набором разрядов в мантиссе, что Вы и видите. Лучший выход это преобразовать число с плавающей запятой в какой-нибудь точный тип, например в денежный. Денежный тип это особый тип целочисленного представления, где не может быть паразитных разрядов в мантиссе числа. Ее просто нет.
Если число в конструкторе таблицы определить с денежным типом, а формат представления Основной, а не денежный, то и вид исходных данных и арифметические преобразования будут такими как Вам требуется.
2
608 / 387 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
01.10.2014, 16:04  [ТС] 5
всем привет!
подскажите что у меня не так с запросом "запрос3"
там повторяющиеся записи...

заранее всем спасибо
Вложения
Тип файла: rar формы.rar (161.2 Кб, 3 просмотров)
0
608 / 387 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
01.10.2014, 16:08  [ТС] 6
извиняюсь... "запрос1"
0
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
01.10.2014, 16:42 7
Лучший ответ Сообщение было отмечено sekonya как решение

Решение

Размножение записей из-за левого соединения (Left Join) между Смета и Форма. Соединение таблиц Позиция и Смета уже ограничило набор данных и за счет повторяющихся номеров идСметаНомер в Форма происходит их декартово размножение. Если поставить Inner Join между Смета и Форма, повторяющихся записей не будет.
Поскольку не совсем ясно, что Вы хотите получить, то какую-то иную рекомендацию дать трудно.
1
608 / 387 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
02.10.2014, 07:27  [ТС] 8
mobile, но при таком соединении результат запроса выдает только записи из таблицы "форма", а нужно чтобы выдавал все записи из таблицы "смета". соединение LEFT JOIN давало такую возможность, но стали появляться дублирующие записи. Может конструкция запроса изначально неправильно сформулирована(!)
помогите разобраться, пожалуйста...
0
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
02.10.2014, 08:47 9
Лучший ответ Сообщение было отмечено sekonya как решение

Решение

sekonya, а зачем вообще нужна таблица Форма в этом запросе? Ведь ни одного поля из нее в запросе нет. Совершенно непонятно какую роль играет таблица Форма в запросе. Для какой цели она поставлена в запрос? Может ее просто убрать из запроса?
1
608 / 387 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
02.10.2014, 10:38  [ТС] 10
mobile, ))) вы правы! все так просто!
0
02.10.2014, 10:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.10.2014, 10:38
Помогаю со студенческими работами здесь

Вложенный запрос
Помогите создать пару вложенных запросов пожалуйста.

Вложенный запрос
Добрый день, помоги, пожалуйста, Во вложении база с двумя таблицами: приходы и расходы, нужно...

Select и вложенный запрос
Добрый день уважаемые форумчане.UPDATE `contacts` SET `operator_id`=(SELECT `operator_id` FROM...

LEFT JOIN и вложенный запрос
Задание по БД...Прикрепляю ниже БД. Необходимо сделать такой запрос: Написать процедуру,...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru