Звоните
Екатеринбург
Пишите
Вход Регистрация

Добавление поля в базу tGoods в БП7

Написать сообщение
Сообщение будет добавлено в самый конец дискуссии
camin 20 сентября 2010, 13:09#
Добавил поле fName в таблицу tGoods для наименования товара. Можно ли написать sql запрос или добавить триггер в таблицу, чтобы поле заполнять из таблицы tModel->fName автоматом без участия программы.
speaker 20 сентября 2010, 16:09#
camin, вы можете добавлять записи в таблицу таким образом, но при обновлении программы могут возникнуть проблемы.
Не совсем понятно, какую проблему вы хотите решить таким образом. Опишите ее, возможно, есть более простой способ решения.
camin 20 сентября 2010, 16:09#
Да я уже начал делать новый отчет - может быть так проще.
А вообще хотел сделать выборку количества товара и наименования - или по всем документам или по выделенным - как архиве накладных
speaker 21 сентября 2010, 11:09#
camin, не понятно, что значит - сделать выборку количества товара и наименования - или по всем документам или по выделенным - как архиве накладных
Опишите подробнее.
camin 21 сентября 2010, 12:09#
По накладным есть поступление товара - и естетственно хочется сделать аналог инвентаризационной ведомости. В базе tModel - есть цена и наименование. В базе tGoods есть количество и поле fModel = fObject из базы tModel. Как написать запрос в генераторе отчетов чтобы в результе были поля Наименование, количество (сумма из tGoods по полю fCount),цена , ну сумму уже посчитаем. Может на подчиненный запрос?
speaker 21 сентября 2010, 12:09#
camin, добавлять новое поле для этого не нужно, используйте внутреннее соединение таблицы товаров tGoods с таблицей моделей tModel.
camin 21 сентября 2010, 18:09#
Сделал такой запрос, но не получется просуммировать количество из tGoods

select distinct
rModel."fObject",
rModel."fName" "fModelName",
rModel."fPrice" "fModelPrice",
rModel."fNDS" "fModelNDS",
rModel."fGroup",
rGroup."fName" "fGroupName",
rGoods."fCount" "fModelCount"
from
"tModel" rModel, "tGoods" rGoods, "tGroup" rGroup
where (rModel."fObject" <> '000000000000') and (rModel."fGroup"=rGroup."fObject") and (rGoods."fModel"=rModel."fObject")
order by rModel."fGroup", rModel."fName"
speaker 22 сентября 2010, 16:09#
camin, для суммирования значений в запросе необходимо использовать не "distinct", а "group by" и агрегатные функции, также лучше использовать явное объединение таблиц.
camin 22 сентября 2010, 18:09#
Попробовал через sum и group by начинает долго думать и создавать временные файлы по гектару
select
rModel."fObject",
rModel."fName" "fModelName",
rModel."fPrice" "fModelPrice",
rModel."fGroup",
rGroup."fName" "fGroupName",
SUM(rGoods."fCount")
from
"tModel" rModel, "tGoods" rGoods, "tGroup" rGroup
where (rModel."fObject" <> '000000000000') and (rModel."fGroup"=rGroup."fObject")
group by rModel."fObject",
rModel."fName",
rModel."fPrice",
rModel."fGroup",
rGroup."fName"
order by rModel."fName"
camin 22 сентября 2010, 19:09#
На такой запрос дает поле qryModel.fCount не найдено
select
rModel."fObject",
rModel."fName" "fModelName",
rModel."fPrice" "fModelPrice",
SUM(rGoods."fCount")
from
"tModel" rModel
left outer join
"tGoods" rGoods on (rGoods."fModel" =rModel."fObject")
where (rModel."fObject" <> '000000000000') and (rGoods."fModel" =rModel."fObject")
group by rModel."fObject",
rModel."fName",
rModel."fPrice"
speaker 23 сентября 2010, 10:09#
camin, используйте псевдоним "fCount" для выражения SUM(rGoods."fCount"). Для отладки запросов можно использовать программу IBExpert.
Включите отображение картинок
Подписаться на тему