608 / 387 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
|
|
1 | |
Вложенный запрос с агрегатными функциями29.09.2014, 18:41. Показов 1175. Ответов 9
Метки нет (Все метки)
всем привет!
во вложении запрос2, в который вложен суммирующий запрос, работает некорректно... а конкретно вычисляемые поля: смета.колво, форма.колво, забрано, остаток должно быть так: юзер вносит значение в поле "форма.колво", значение поля "забрано" увеличивается на величину внесенную юзером автоматически, а так же значение поля остаток должно уменьшиться, на это же кол-во. а сейчас не во всех строчках расчет правильный, причину не могу понять( заранее благодарен всем откликнувшимся!
0
|
29.09.2014, 18:41 | |
Ответы с готовыми решениями:
9
Тройной вложенный запрос/запрос из трех таблиц Вложенный запрос Вложенный запрос Вложенный запрос |
2833 / 1375 / 215
Регистрация: 13.05.2011
Сообщений: 4,217
|
|
29.09.2014, 19:28 | 2 |
sekonya, в Запрос2 добавил два альтернативных вычисляемых поля забрано1 и остаток1. Вычисления идут стандартным способом (только почему-то округления не идут, видимо, что-то накручено). Посмотрите
1
|
608 / 387 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
|
|
30.09.2014, 07:03 [ТС] | 3 |
а откуда столько знаков после запятой появляется? как от этого избавиться?
0
|
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|
30.09.2014, 10:23 | 4 |
Сообщение было отмечено sekonya как решение
Решение
Числовой тип с плавающей запятой это неточный тип данных. Нет никаких гарантий, что при любой операции, включая ввод данных, не появятся отличные от нуля значения в дальних разрядах мантиссы. При арифметических операциях число вычисляется с полным набором разрядов в мантиссе, что Вы и видите. Лучший выход это преобразовать число с плавающей запятой в какой-нибудь точный тип, например в денежный. Денежный тип это особый тип целочисленного представления, где не может быть паразитных разрядов в мантиссе числа. Ее просто нет.
Если число в конструкторе таблицы определить с денежным типом, а формат представления Основной, а не денежный, то и вид исходных данных и арифметические преобразования будут такими как Вам требуется.
2
|
608 / 387 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
|
|
01.10.2014, 16:04 [ТС] | 5 |
всем привет!
подскажите что у меня не так с запросом "запрос3" там повторяющиеся записи... заранее всем спасибо
0
|
608 / 387 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
|
|
01.10.2014, 16:08 [ТС] | 6 |
извиняюсь... "запрос1"
0
|
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
|
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 | |
02.10.2014, 10:38 | |
Помогаю со студенческими работами здесь
10
Вложенный запрос Вложенный запрос Select и вложенный запрос LEFT JOIN и вложенный запрос Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |