Добавление поля в базу tGoods в БП7
Написать сообщение
Сообщение будет добавлено в самый конец дискуссии
Добавил поле fName в таблицу tGoods для наименования товара. Можно ли написать sql запрос или добавить триггер в таблицу, чтобы поле заполнять из таблицы tModel->fName автоматом без участия программы.
camin, вы можете добавлять записи в таблицу таким образом, но при обновлении программы могут возникнуть проблемы.
Не совсем понятно, какую проблему вы хотите решить таким образом. Опишите ее, возможно, есть более простой способ решения. Да я уже начал делать новый отчет - может быть так проще.
А вообще хотел сделать выборку количества товара и наименования - или по всем документам или по выделенным - как архиве накладных camin, не понятно, что значит -
сделать выборку количества товара и наименования - или по всем документам или по выделенным - как архиве накладных Опишите подробнее. По накладным есть поступление товара - и естетственно хочется сделать аналог инвентаризационной ведомости. В базе tModel - есть цена и наименование. В базе tGoods есть количество и поле fModel = fObject из базы tModel. Как написать запрос в генераторе отчетов чтобы в результе были поля Наименование, количество (сумма из tGoods по полю fCount),цена , ну сумму уже посчитаем. Может на подчиненный запрос?
camin, добавлять новое поле для этого не нужно, используйте внутреннее соединение таблицы товаров tGoods с таблицей моделей tModel.
Сделал такой запрос, но не получется просуммировать количество из 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" camin, для суммирования значений в запросе необходимо использовать не "distinct", а "group by" и агрегатные функции, также лучше использовать явное объединение таблиц.
Попробовал через 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" На такой запрос дает поле 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" camin, используйте псевдоним "fCount" для выражения SUM(rGoods."fCount"). Для отладки запросов можно использовать программу IBExpert.
Подписаться на тему
|